我遇到了类似的问题,我最终做的是:
1) 将以下构建目标添加到项目文件中。(这是一个有效的 MSBuild 脚本)
<Target Name="AfterBuild">
<TransformXml Source="Web.config" Condition="Exists('Web.$(Computername).config') " Transform="Web.$(Computername).config" Destination="Web.config" />
</Target>
2) 向项目添加了 Web.MyMachineName.config 配置转换文件。在您的情况下,它应该如下所示:
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<connectionStrings>
<add name="XrmService"
connectionString="http://MyMachineName:5555/Service.svc"
xdt:Transform="SetAttributes"
xdt:Locator="Match(name)"/>
</connectionStrings>
</configuration>
这样做的好处是可以根据机器名称运行不同的转换,而无需创建单独的构建配置。您可以将其配置为仅通过指定 Condition="'$(Configuration)' == 'Debug'" 进行调试。