XDT变换 – 转换变换

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

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

所以例如在安装nuget包时我想看到:

 

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

是否有可能做到这一点?

我不相信你想要做的事情是由msbuild或SlowCheetah支持的。 大多数NuGet软件包所有者对其客户实现不够了解,无法将值设置为特定于环境的配置。 此外,转换工具不是为NuGet编写的,因为它们是为满足不同需求而构建的。 关于这些坏消息我很遗憾。

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