2

我确定这个问题之前已经出现过,但我似乎无法找到一个优雅的解决方案。

我有一个基于部署环境(测试、QA、生产)的具有多种配置的 Web 应用程序项目,以及每个环境的 web.config 转换。我们正在使用 Web 部署包来自动创建可以通过 MSDeploy 部署的应用程序的 .zip。多次调用包目标很容易,每次都有不同的配置:

msbuild MyProject.csproj /t:Package /p:Configuration=QA

msbuild MyProject.csproj /t:Package /p:Configuration=Test

但这会在每次打包之前触发 Web 项目的完整重建。我想构建一次,然后应用 web.config 转换,并为每个环境创建单独的包。有没有一种简单的方法可以在不强制对每个环境进行完全重建的情况下完成此操作?

4

1 回答 1

0

使用msdeploy和 Visual Studio 2012 重复构建一次并部署到多个环境

我也一直想要一个解决方案,但显然我所知道的没有任何真正的 COMPLETE MS 解决方案。Visual Studio 提供以下功能(如此所述):

  1. Web.Config 转换
  2. 参数化

Vishal Joshi 总结如下:

如果您可以在构建时了解您的环境设置,请使用 Web.Config 转换。

如果您只想创建一次部署包,然后在安装时输入设置,请使用 Parameters.xml

不过,我希望看到的是两全其美。我想“打包”一个嵌入了所有配置转换的目标。因此,当 IT 人员运行 WebDeploy cmd 文件(在您“打包”时生成)时,他们可以提供他们想要的环境配置的切换(即 Dev、Test、Stage、Prod、Release 等)。我不相信 MS 有解决方案可以做到这一点。:(

于 2012-12-12T19:13:22.413 回答