9

我正在创建一个 nuget 包,其中安装包的部分结果是修改我的 web.release.config。

我使用 web.release.config.install.xdt 将元素插入到这个文件中没有问题,但是我需要在我插入的元素上保留 xdt:Transform 和 xdt:Locator 属性,因为这些转换需要在该应用程序是为部署而构建的。

因此,例如在安装 nuget 包时,我想看到:

<add key="serilog:using" value="Serilog.Sinks.Seq" xdt:Transform="InsertIfMissing" xdt:Locator="Match(key)" />

显示在 web.release.config 中,包括 xdt:Transform 和 xdt:Locator 属性。

是否有可能做到这一点?

4

1 回答 1

1

我不相信你正在尝试做的事情得到 msbuild 或 SlowCheetah 的支持。大多数 NuGet 包所有者对他们的客户实施了解不够,无法将值设置到特定于环境的配置中。此外,转换工具在编写时并未考虑到 NuGet,因为它们是为满足不同需求而构建的。关于这些坏消息我很遗憾。

您可能可以使用 init.ps1 powershell 脚本来完成此操作(NuGet 将在第一次将软件包安装到解决方案中时运行此脚本),但它不够干净。

于 2016-12-26T22:26:10.730 回答