将xml从nuget依赖项复制到输出

时间:2016-02-03 09:45:09

标签: nuget nuget-package

我有一个nuget包,其中有一个xml文件,比如config.xml。我希望将此文件复制到任何依赖项目的bin文件夹中。但是,无论我如何尝试指定此文件或根据我发现的各种指南将其放在何处,我都无法将其复制。

如果我将.nupkg重命名为*.nupkg.zip并在资源管理器中查看,则它具有以下内部结构:

package root
|-- lib
|    +-- net45
|          |-- My.Own.Library.dll
|          +-- My.Own.Library.xml
+-- config.xml

当我构建依赖项目时,我在bin文件夹中得到类似的内容:

bin
|-- My.Own.Program.exe
|-- My.Own.Library.dll
+-- My.Own.Library.xml

请注意,此处不包含config.xml。我如何,最好从包的nuget规范(而不是在依赖项目中)确保在构建程序时将config.xml复制到bin文件夹中?

其他一些信息:

我在库的project.json文件中生成nuget packge,以下规范:

"packInclude": {
  "/": "config.xml",
  "lib/net45/": "config.xml"
},
"contentFiles": [
  "config.xml"
],

但是,这似乎不会在输出文件夹中的包中包含的.nuspec文件中生成任何内容。我找到these instructions,并手动编辑生成的.nuspec以匹配:

<contentFiles>
  <files include="contentFiles/any/any/certificates.xml" copyToOutput="true" />
</contentFiles>

这在依赖项目中根本没有任何影响。

1 个答案:

答案 0 :(得分:-1)

NuPack是MIT许可下的一个开源项目,本能地满足您的需求:

这是一个在构建时自动创建包的块包。 您可以尝试一下,看看它如何管理您需要的功能。

它似乎在nuget包中包含一个构建文件夹,其中包含.targets文件,以包含要使用依赖项文件进行复制的后期构建过程。

相关问题