您可以创建配置转换并在发布配置文件中使用它们。对于每个配置(Debug、Release、YourOwnConfig ...),都会有一个由其命名的文件配置(Web.Debug.config、Web.Release.Config、Web.YourOwn.Config、...)
诀窍是您有一个完整的配置文件,即原始 Web.Config,并且转换只是通过 XSLT 转换语法提到了与此文件的差异(一旦您创建了新的转换,文件中就会有一些示例本身显示语法)。例如,为 appSettings 键添加转换如下所示:
<configuration>
<appSettings>
<add key="ClientSessionTimeout" value="100"
xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
</appSettings>
</configuration>
该示例将现有的ClientSessionTimeout 设置替换为指定的设置(使用value="100")。请注意xdt:locator 如何指定 key 属性将用于本地化设置,xdt:Transform 指定将设置提到的属性(此处:value)。
如果你有applicationSettings,你需要替换设置本身:
<applicationSettings>
<WebApplication2.Properties.Settings>
<setting name="Setting" serializeAs="String"
xdt:Transform="Replace" xdt:Locator="Match(key)">
<value>Some value</value>
</setting>
</WebApplication2.Properties.Settings>
</applicationSettings>
不同之处在于数据源设置、其他环境特定设置(例如 Web 服务的 URL 等)。
要创建它们,请选择一个配置,例如“调试”,然后右键单击 Web.Config 文件,您将看到一个上下文菜单项“添加配置转换” - 单击它并选择 Web.Debug.Config 转换文件将在 Web.Config 下创建。如前所述进行调整;将整个密钥或设置复制到转换文件,然后添加适当的xdt 属性,如上所示。
最后,您可以使用“发布”功能(右键单击网络项目以选择它)。将打开一个向导,您可以在其中设置发布配置文件。您可以在此处提及配置 - 例如“调试”、“发布”以及您之前创建的配置。
文件发布会将部署 Web 项目所需的文件放在一起,并通过应用适当的转换文件(例如 Web.Release.Config)另外执行 Web.Config 的转换。发布的配置将命名为“Web.Config”并包含所有更改。
对于疑难解答,并了解有关该主题的更多信息,我推荐以下链接:
请注意堆栈溢出的侧边栏显示更多相关链接。