2015-06-19 201 views
9

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

我没有问题插入到我的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显示:变换和XDT:定位属性。

可以做到这一点吗?

+0

我已经在nuget博客上发布了关于此问题的[问题](http://blog.nuget.org/20130920/how-to-use-nugets-xdt-feature-examples-and-facts.html)。 –

回答

0

我不相信你正在尝试做什么是由msbuild或SlowCheetah支持。大多数NuGet包拥有者不知道他们的客户实施方式是否将值设置为环境特定的配置。另外,这些转换工具不是用NuGet编写的,因为它们是为了满足不同需求而设计的。关于这些坏消息我很遗憾。

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