2

我有一个包含 UWP 以及 Android 和 iOS 程序集的包的 nuspec 文件。

在 UWP 版本中,我还需要包含一个内容文件。根据这个参考,我应该使用 contentFiles 标签,它在以下代码中运行良好,在生成的包文件中我添加了文件:

<?xml version="1.0"?>
<package>
  <metadata minClientVersion="3.3.0">
    <id>x</id>
    <version>1.0.1</version>
    <authors>...</authors>
    <description>...</description>       
   <contentFiles>        
        <files include="**/images/*.*" ... />        
    </contentFiles>
  </metadata>
</package>

但是,我还需要包含程序集,为此我必须使用files节点:

<?xml version="1.0"?>
<package>
  <metadata minClientVersion="3.3.0">
    ...
  </metadata>  
  <files>
    <file src="..." target="..." />    
  </files>  
</package>

在这种情况下,内容文件将被忽略。换句话说,只要我添加了files节点,contentFiles 节点甚至都不会添加到生成的包中!

这是 Nuget.exe 中的错误吗?这是设计使然吗?我怎么能把两个都放在包里?!

PS:我的nuget.exe是官方最新的。

4

3 回答 3

0

NuGet 有一个相关的 github 问题。 https://github.com/NuGet/Home/issues/1980

于 2017-04-27T14:03:33.457 回答
0

根据文档,在Include content files下,您应该使用其中一个,就像ContentFilesproject.json一样

尝试将您的内容移动到您的文件标签,它应该是这样的:

<?xml version="1.0"?>
<package>
    <metadata minClientVersion="3.3.0">
        ...
    </metadata>  
    <files>
        <file include="**/images/*.*" target="Content" />
        <file src="..." target="..." />    
    </files>  
</package>
于 2017-05-02T12:53:50.473 回答
0

当您将该files部分添加到您的 nuspec 文件时,您需要手动列出您想要在您的包中的所有文件,包括您在该contentFiles部分中列出的内容文件。

于 2017-04-29T04:32:35.910 回答