MSBuild:Web应用程序,构建一次包并部署许多

时间:2012-10-25 15:04:02

标签: asp.net deployment msbuild packaging

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

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

  

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

     

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

但是这会在每次打包之前触发Web项目的完全重建。我想构建一次,然后应用web.config转换,并为每个环境创建单独的包。有没有一种简单的方法可以实现这一目标而不必为每个环境强制完成重建?

1 个答案:

答案 0 :(得分:0)

Build once and deploy to multiple environments with msdeploy & Visual Studio 2012

的Dupe

我一直想要一个解决方案,但显然我没有任何真正的COMPLETE MS解决方案。 Visual Studio提供以下内容(如标注here):

  1. Web.Config transformation
  2. 参数
  3. Vishal Joshi总结如下:

      

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

         

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

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