我有一个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>
这在依赖项目中根本没有任何影响。
答案 0 :(得分:-1)
NuPack是MIT许可下的一个开源项目,本能地满足您的需求:
这是一个在构建时自动创建包的块包。 您可以尝试一下,看看它如何管理您需要的功能。
它似乎在nuget包中包含一个构建文件夹,其中包含.targets文件,以包含要使用依赖项文件进行复制的后期构建过程。