我正在使用VS 2010中的ASP.Net MVC Web应用程序。我想在我自己的网站下运行本地IIS 7中的Web应用程序。我有我的主机文件设置,以便* .dev指向我的本地IP,所以当我创建一个IIS网络时,我可以给它一个唯一的主机名,如myapp.dev,它运行。
这是我的第一个使用VS的Web应用程序项目,我正在尝试弄清楚如何在我点击构建时将Web应用程序代码发布到我的本地Web。我已经有发布部分工作,但我想自动化它。另外我可以补充一点,我有几个不同的层(类库),需要同时构建和发布所有。
总结我想要发生的是在进行代码更改之后我想点击重建解决方案或重建项目,并且在成功构建之后我希望将更改的文件发布到我为此特定Web应用程序设置的Web根目录在我的本地IIS中。然后我可以刷新浏览器来测试我的更改。
是否有任何关于此类设置的教程可供我参考?
答案 0 :(得分:5)
您是否尝试在开发期间使用IIS而不是ASP.NET开发Web服务器?如果是,您可以转到Web项目的设置,然后转到Web选项卡,将开发Web服务器更改为IIS并指定URL。这样您就不需要发布任何内容,虚拟目录指向项目的文件夹。因此,当您编译并运行Web应用程序时,它将获取任何更改。如果这不是您想要的,您可以在构建后步骤中使用msdeploy命令行工具将Web应用程序打包并部署/更新到本地IIS。这样每次构建时,msdeploy都会运行并使用更改来更新IIS。
答案 1 :(得分:3)
这最终比我想象的要简单得多。在VS 2010中,有一个名为“One Click Publish”的新功能,还有一个工具栏。我已经为我的本地iis网站创建了一个发布配置文件,所以我所要做的就是点击发布!然后构建并发布解决方案中的所有项目。只要项目都设置为依赖项,那么它们就会与Web项目一起构建和发布。
现在我需要一个热键来进行一次点击发布,我已经完成了设置。
我想如果我在csproj文件中定义了额外的构建任务,那么所有这些任务都会被执行。
答案 2 :(得分:2)
虽然我使用的是2008,但我发现使用NAnt构建和发布会更容易。它允许您更大的灵活性,您可以使用它来发布到本地和生产站点。
答案 3 :(得分:0)
作为ASP.NET
的新用户,我建议您查看Url.Content
发布链接(如果您使用的是MVC)或System.Web.VirtualPathUtility.ToAbsolute("~/...")
(如果没有)并明智地使用为了避免处理发布具有不同根的网站的副作用,代字号。学习这将开启使用上述一些建议的机会(将IIS
指向项目目录中)。
另一个选项是打开您的项目文件并使用AfterBuild
构建目标。取消注释并添加aspnetcompiler任务以及发布任务也将完成同样的事情,如果您正在进行一键式发布,您还可以通过指定条件来基于$(Configuration)分离构建任务。
我还建议您阅读如何为Web项目自定义构建。已经写了很多文章,可以帮助你顺利完成任务。