gpt4 book ai didi

msbuild - 在 Web.Config 转换中指定机器名称

转载 作者:行者123 更新时间:2023-12-04 12:48:10 28 4
gpt4 key购买 nike

我正在使用 Web.config 转换成功创建我的 web.config 的调试和发布版本 - 这工作正常。

我很想知道是否有一个“机器名称”属性来指定我可以在调试 URL 中使用的当前机器名称,而不是硬编码特定的机器名称(在这种情况下使用 localhost 不是一个选项) ,例如

<add name="XrmService" connectionString="http://$(ComputerName):5555/Service.svc" />

是否有任何使用 Web.config 转换可用的属性?类似于 MSBuild 的 $(ComputerName)属性(property)?

最佳答案

我遇到了类似的问题,我最终做的是:

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'"将其配置为调试。

关于msbuild - 在 Web.Config 转换中指定机器名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18190359/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com