我已经使用 web.config 转换一段时间了,用于部署我们的一些项目。 我现在想要实现的是让 Web Deploy 的“导入包”屏幕提示检查和更新 中的几个变量,并针对每个环境进行调整 .
我知道我可以使用 Parameters.xml引入这些可编辑变量,但我还没有找到如何为不同的环境目标更新默认值。
考虑以下简洁但不重叠的示例,希望用户编辑“specialServer”AppSetting,并在为 编译时显示不同的默认值。新环境 目标:
Parameters.xml 中的示例条目:
<parameter name="Special server" description="" tags="" defaultValue="server1-dev.domain">
<parameterEntry kind="XmlFile" scope="\\web.config$" match="/configuration/appSettings/add[@key='specialServer']/@value" />
</parameter>
Web.NewEnv.config 的示例转换 ,为
<appSettings>
<add key="specialServer"
value="other-server.domain2"
xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
</appSettings>
Web 部署中的提示示例:
关于如何更新不同构建目标的默认值的任何建议?
谢谢。
最佳答案
您必须生成新的参数定义文件并将其嵌入 WebDeploy
为每个环境打包。
这将为每个环境提供不同的部署包,并允许您为这些参数指定不同的默认值。显然,如果参数转换并且您最终在配置中烘焙,那么这样做会破坏这一点,但这是实现您想要的唯一方法。
我不推荐这种方法,但它可能适合您的需求。
关于webdeploy - 混合 web.config 转换和 Parameters.xml,或者类似的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11644269/