我有一个webApi项目,在部署到Dev环境后,我需要编辑web.config并将生产配置的连接更改为开发配置,如果我需要部署到prod,则需要更改。 如何在我在项目中使用的版本或调试中自动为选定的dev或prod设置webconfig?
答案 0 :(得分:4)
要指定要在Web.config文件中进行的更改,请使用转换文件。转换文件与构建配置相关联。
如果要为不存在的自定义生成配置创建转换文件,请首先使用Configuration Manager创建生成配置。
您可以通过从“构建”菜单中选择配置管理器来打开它。
在Solution Explorer中,展开应用程序Web.config文件。
如果已创建任何转换文件,则Web解决方案资源管理器中将显示Web.config文件,其中包含一个符号,指示可以展开该文件,并在展开Web.config文件时显示转换文件。
转换所针对的构建配置由文件名中的字符串指示。例如,Debug构建配置的转换文件名为Web.Debug.config。
如果您没有为要为其指定设置的构建配置存在转换文件,请在解决方案资源管理器中右键单击Web.config文件,然后单击“添加配置转换”。
打开要使用的构建配置的转换文件。
编辑转换文件以指定在使用该构建配置进行部署时应对已部署的Web.config文件所做的更改。
默认转换文件包含显示如何编码某些常见转换的注释。
以下示例显示如何使用Match定位器和SetAttributes转换属性。 Match locator属性将connectionStrings部分中的add元素标识为要更改的元素。 SetAttributes transform属性指定此元素的connectionString属性应更改为“ReleaseSQLServer”。
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<connectionStrings>
<add name="MyDB"
connectionString="ReleaseSQLServer"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
</configuration>
保存并关闭转换文件。
使用选定的构建配置并使用部署包或单击发布部署Web应用程序时,将根据您的规范转换Web.config文件。