我正在使用MSBuild.exe
来构建我们的应用程序。与App.Config
一起,我有App.prod.config, app.qa.config, app.dev.config
个文件。
在命令行中,我输入以下内容
C:\XXX\MyProject> C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe myBuildFile.build /p:Configuration=DEV
上面的命令,查找app.config和app.dev.config文件,在App.dev.config&中转换占位符。使用app.dev.config文件中的条目生成app.cofig文件。
编译项目后,将创建app.exe.config文件。这一切对我来说都很好。
但是对于生产,我正在正确转换app.config文件,但app.exe.config文件与默认的app.config文件相同(没有任何转换)
以下是app.prod.config文件:
<?xml version="1.0" encoding="utf-8" ?>
<!-- For more information on using transformations
see the web.config examples at http://go.microsoft.com/fwlink/?LinkId=214134. -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<connectionStrings>
<add name="EventStore"
connectionString="XXXXXXXXXXX"
providerName="System.Data.SqlClient"
xdt:Transform="SetAttributes"
xdt:Locator="Match(name)"/>
<add name="Profile"
connectionString="XXXXXX"
providerName="System.Data.SqlClient"
xdt:Transform="SetAttributes"
xdt:Locator="Match(name)"/>
<add name="IdentityDB"
connectionString="XXXXXXXXXXXXXXXXXXXXXXXX"
providerName="System.Data.OracleClient"
xdt:Transform="SetAttributes"
xdt:Locator="Match(name)"/>
</connectionStrings>
<appSettings>
<add key="ApplicationName"
value="PROD"
xdt:Transform="SetAttributes"
xdt:Locator="Match(key)"/>
</appSettings>
<system.web>
<compilation xdt:Transform="RemoveAttributes(Debug)" />
</system.web>
</configuration>
答案 0 :(得分:0)
默认情况下,web.config
仅在发布上进行转换。如果要转换app.config
或xml文档,那么最好的选择是安装名为SlowCheetah的Visual Studio扩展