我试图打包一个nuget-packge,它有一个文件'app.config.intall.xdt‘。xdt文件支持XML-文档转换(XDT)。
如果要安装nuget包的目标项目有app.config,则XDT将正确执行,但问题是,如果目标项目没有app.config,XDT将什么也不做。
当需要XDT操作时,如果目标项目没有app.config文件,是否有任何方法创建该文件?
下面的代码显示了我的xdt文件'app.config.intall.xdt',如果您想要安装nuget包导致问题,请在nuget控制台中运行以下命令。
安装nuget软件包
install-package Experiment.Xunit -version 2.0.0-pre08app.config.intall.xdt
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<runtime xdt:Transform="InsertIfMissing">
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly xdt:Transform="InsertIfMissing"
xdt:Locator="Condition(_defaultNamespace:assemblyIdentity/@name='xunit.extensions')">
<assemblyIdentity name="xunit.extensions" publicKeyToken="8d05b1bb7a6fdb6c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.9.0.1566" newVersion="1.9.0.1566" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>发布于 2014-09-24 12:42:37
您可以使用Install.ps1或Init.ps1钩提供的NuGet。
创建一个powershell脚本,如果app.config不存在,它就用默认值创建它
另一种方法可以是(我现在不能测试它)在nuget软件包的内容文件夹中添加一个具有所需值的nuget软件包的内容文件夹文件。
我认为nuget不会覆盖项目根中的文件。
-最新消息
Nuget文档:允许用户覆盖已经存在的内容文件。
-更新2
我做了一些测试:您可以使用配置文件转换而不是XDT来实现所需的行为
https://stackoverflow.com/questions/26016384
复制相似问题