混合web.config转换和Parameters.xml,或者其他东西

Ove*_*lew 6 web-config-transform webdeploy

我一直在使用web.config转换一段时间,以便在我们的一些项目上进行部署.我现在想要实现的是,让Web Deploy的"导入包"屏幕提示检查和更新几个变量,并针对每个环境进行调整.

我知道我可以使用Parameters.xml来引入这些可编辑的变量,但我还没有找到如何为不同的环境目标更新默认值.

考虑以下整洁但非重叠的示例,希望让用户编辑" specialServer "AppSetting,并在为NewEnv目标编译时为其提供不同的默认值:

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>
Run Code Online (Sandbox Code Playgroud)

Web.NewEnv.config的示例转换,为其设置不同的值

<appSettings>
    <add key="specialServer"
        value="other-server.domain2"
        xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
</appSettings>
Run Code Online (Sandbox Code Playgroud)

Web部署中的提示示例:

在此输入图像描述

有关如何更新不同构建目标的默认值的任何建议吗?

谢谢.

The*_*ing 1

您必须生成新的参数定义文件并将其嵌入到WebDeploy每个环境的包中。

这将为每个环境提供不同的部署包,并允许您为这些参数指定不同的默认值。显然,如果参数发生变化并且您最终最终会在配置中进行烘焙,那么这样做会破坏这一点,但这是实现您想要的效果的唯一方法。

我不推荐这种方法,但它可能适合您的需求。