我正在为CI& D设置我的申请。我创建了一个DEV-Deploy web.config转换,其中包含开发测试环境的连接字符串。
以下是Web.DEV-Deploy.config连接字符串部分的内容:
<connectionStrings xdt:Transform="RemoveAttributes(configSource)">
<add name="DbContext"
providerName="MySql.Data.MySqlClient"
connectionString="CXN_STRING"
xdt:Transform="Insert" xdt:Locator="Match(name)"/>
<add name="elmah"
connectionString="CXN_STRING"
xdt:Transform="Insert" xdt:Locator="Match(name)"/>
</connectionStrings>
应该看起来像:
<connectionStrings>
<add name="DbContext" providerName="MySql.Data.MySqlClient"
connectionString="CXN_STRING"/>
<add name="elmah" connectionString="CXN_STRING"/>
</connectionStrings>
我正在使用命令行构建,我尝试了以下命令,这些命令都不起作用:
msbuild web\web.csproj /T:Package /P:Configuration=DEV-Deploy /P:TransformConfigFiles=true
msbuild web\web.csproj /T:Package /P:Configuration=DEV-Deploy /t:TransformWebConfig
部署任务如下所示:
web.deploy.cmd /Y /M:https://MACHINEIP:8172/msdeploy.axd -allowUntrusted /U:USERNAME /P:PASSWORD /A:Basic
web.config在部署时看起来像这样:
<connectionStrings configSource="connectionStrings.config"></connectionStrings>
我已经在我的本地计算机上尽我所能进行了测试,并且无法复制该问题。我需要做什么才能使转换在构建中正常工作?
答案 0 :(得分:3)
我们的CI&amp; D团队将构建/部署脚本放入源代码控制中,在查看之后,上面的所有内容都是正确的,问题是构建命令的路径错误,而命令本身是正确的。
更新后,web.config正确转换。