2015-06-19 256 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會在解決方案中首次安裝該軟件包時運行此腳本),但它不會很乾淨。