gpt4 book ai didi

NuGet 包转换配置转换文件

转载 作者:行者123 更新时间:2023-12-01 05:03:03 25 4
gpt4 key购买 nike

有没有办法让 NuGet 包转换配置转换文件?例如,当我希望 NuGet 包编辑 web.config 时文件,我创建了一个 web.config.install.xdt文件。但是如果我想让我的 NuGet 包编辑 web.config.debug 怎么办?文件?

我试着做一个 web.config.debug.install.xdt文件,但遇到了一个问题:我无法进行转换以插入本身是 xdt 转换属性的属性。就像是:

<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:xdt1="http://schemas.microsoft.com/XML-Document-Transform">

<system.serviceModel >
<client xdt1:Transform="Insert">
<endpoint address="http://blah.blah" binding="basicHttpBinding" contract="Test.Contract"
name="TestWs" xdt:Transform="Replace" xdt:Locator="Match(name)"/>
</client>
</system.serviceModel>

</configuration>

(我尝试更改 xdt 的命名空间,但这也无济于事。)

最佳答案

虽然这可能不是最好的答案,但当我发现自己处于这种情况时,它确实为我完成了工作:

使用“旧”方法进行转换,而不是 xdt 方式。

https://docs.nuget.org/create/Transforming-Configuration-Files-Using-dotTransform-Files.md

这似乎工作得很好,只需确保适当的 xmlns 属性在 .transform 文件中。

例如,如果您想转换当前看起来像这样的 web.qa.config 文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings>
<add key="Tier" value="qa" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
</appSettings>
</configuration>

您可以添加一个元素:
<add key="RedirectUri" value="yourRedirectUriForQA" xdt:Transform="Replace" />

通过将以下 web.qa.config.transform 文件添加到您的 Nuget 包中:
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings>
<add key="RedirectUri" value="yourRedirectUriForQA" xdt:Transform="Replace" />
</appSettings>
</configuration>

只需确保将其添加到 .nuspec 文件中,以便在打包时获取。

关于NuGet 包转换配置转换文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31367844/

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