我正在创建一个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属性。
是否可以这样做?
答案 0 :(得分:0)
我不相信你想要做的事情是由msbuild或SlowCheetah支持的。大多数NuGet软件包所有者对其客户实现不够了解,无法将值设置为特定于环境的配置。此外,转换工具不是用NuGet编写的,因为它们是为满足不同需求而构建的。抱歉,这是个坏消息。
您可以使用init.ps1 powershell脚本来完成此操作(NuGet将在解决方案中第一次安装软件包时运行此脚本)但它将不是干净的。