我想知道如何执行以下操作
从我自己的阅读中我不确定如何做到这一点。 WebDeploy似乎基于配置打包,转换和部署,但我不确定如何解耦这些步骤以避免需要从源代码控制重新编译代码。
有没有人有解决这个问题的经验?
答案 0 :(得分:9)
您可以使用Web部署a.k.a MSDeploy的参数化功能。您需要使用parameters.xml文件和setParameters.xml文件来动态交换设置,因为您没有在构建时转换包。
在部署时,您可以传入任何.xml文件来设置您在parameters.xml文件中指定的参数。由于parameters.xml位于项目解决方案的根目录下(例如,请参阅放置文件放置位置的示例链接),因此在构建时它会融入您的Web包。但是,您现在可以通过在部署期间从命令行传入setParms .xml文件来灵活地更改这些值。这与基于配置设置在构建时转换值不同。
这是一个msdeploy命令行示例,用于为登台环境传入ParamFile。
msdeploy -verb:sync -source:package="c:\packages\mypackage.zip" -dest:auto,computername=StagingServer1 -setParamFile="c:\StagingParameters.xml"
请参阅以下链接以获取示例和MSDN技术信息:
Web Deploy Parameterization in Action
Parameterization vs. Web.Config Transformation
Similar question on stackoverflow that provides several methods