将ASP MVC应用程序部署到运行IIS 7.5的Windows 2008服务器

时间:2014-04-25 14:29:57

标签: asp.net-mvc iis-7.5 windows-server-2008-r2

我一直在努力寻找一些关于如何做到这一点的可靠信息。我发现的大部分信息都是从Visual Studio 20xx开始讨论Web部署的,但我不确定这是否是首选方法。我希望能够“安装”MVC网站/ Web应用程序进行分段,然后在测试/缺少修复周期后,进行另一次构建并将其安装在生产环境中。大家怎么样这样做?文档如此宽松和有限,这似乎很奇怪。这不是所有ASP.NET开发公司都做的吗?有人可以向我解释推出和更新Web应用程序到Win2008 IIS 7.5的最佳方法吗?基本上我正在寻找一个包装精良的安装程序。

3 个答案:

答案 0 :(得分:2)

发布网站的方法有多种。解决方案取决于许多因素,例如您是在内部发布还是在外部发布。如果要为第三方创建安装以在其自己的服务器上安装,等等。

如果您有直接文件系统(即网络共享)访问您的Web服务器,并且您不关心具有单独构建服务器等的正式构建过程,那么使用Visual的内置Web发布功能Studio是最简单的方法。您只需直接发布到网站虚拟目录的文件系统即可。这非常有效,并支持大多数开箱即用的场景。

但是,如果您是一个更大的组织并希望获得更多控制权。然后,您可以在服务器上安装WebDeploy并使用WebDeploy代理从Visual Studio发布,尽管WebDeploy设置起来很棘手并且没有很好的文档记录。 WebDeploy也可以在Visual Studio之外使用,并且具有非常丰富的功能集。

有些人使用版本控制来部署到他们的网站。他们进行构建,然后将其检入版本控制,然后“获取最新”进入服务器虚拟目录。这使他们能够轻松回滚到以前的版本或时间点。

其他人使用构建和部署工具,如MSBuild,OctopusDeploy,Chuck Norris等......

还有一些人使用持续集成工具,这些工具可能会使用我已经提到过的一些工具。 CIC服务器,如TeamCity,CruiseControl.net等......

那里有大量的信息,还有很多方法可以做到这一点......因为很多是个人选择并且取决于你的情况,我们无法真正明确地说“做这个”或“做”那”。

答案 1 :(得分:1)

好的,我在远程主机(Windows Server 2008 R2)和运行VS2013的客户端之间进行了Web部署。我发现了一个很棒的网站,有一个演练。

Installing and using Web Deploy on server 2012

这适用于Windows Server 2012,但也适用于Win 2008。

在我完成所有操作后,部署失败并显示错误:“无法加载文件或程序集'Microsoft.Web.Deployment,Version = 9.0.0.0 ...”

要解决该问题,我在运行VS 2013的计算机上下载并安装了最新的Web Deploy软件包。当时,最新版本为3.5:

Web Deploy 3.5

这附带了客户端所需的依赖dll。奇怪的是,我没有必要在运行相同版本的VS 2013的家用机器上做这个部分,所以我不知道为什么在这个特殊情况下这是必要的。

完成所有这些操作后,我能够以管理员身份远程部署我的网络应用程序。由于安全问题,我不建议在主机上为管理员设置Web部署,但我上面链接的演练显示了如何为远程连接创建用户帐户。

编辑:我还找到了一个很棒的故障排除指南,帮助我解决了一个问题: Web Deploy Troubleshooting

答案 2 :(得分:0)

我们使用内置的Visual Studio web publishing并将其与web.config transformations结合使用,为每个环境部署适当的配置(设置,连接字符串等)。

设置后,它就像选择所需的发布配置文件一样简单,然后按“发布”。