Nuspec - 如果添加 "files" 节点,为什么 "contentFiles" 会被忽略?怎么修?
Nuspec - Why is "contentFiles" ignored if you add "files" node? How to fix?
我有一个包含 UWP 以及 Android 和 iOS 程序集的包的 nuspec 文件。
在UWP 版本中我还需要包含一个内容文件。
根据 this reference,我应该使用 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是官方最新的
NuGet 有一个相关的 github 问题。
https://github.com/NuGet/Home/issues/1980
当您将 files
部分添加到您的 nuspec 文件中时,您需要手动列出您的包中需要的所有文件,包括您在 [=11= 中列出的内容文件] 部分。
根据文档,在 Including content files 下,您应该使用其中之一,因为 ContentFiles
用于 project.json
尝试将您的内容移动到您的文件标签,它应该如下所示:
<?xml version="1.0"?>
<package>
<metadata minClientVersion="3.3.0">
...
</metadata>
<files>
<file include="**/images/*.*" target="Content" />
<file src="..." target="..." />
</files>
</package>
我有一个包含 UWP 以及 Android 和 iOS 程序集的包的 nuspec 文件。
在UWP 版本中我还需要包含一个内容文件。 根据 this reference,我应该使用 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是官方最新的
NuGet 有一个相关的 github 问题。 https://github.com/NuGet/Home/issues/1980
当您将 files
部分添加到您的 nuspec 文件中时,您需要手动列出您的包中需要的所有文件,包括您在 [=11= 中列出的内容文件] 部分。
根据文档,在 Including content files 下,您应该使用其中之一,因为 ContentFiles
用于 project.json
尝试将您的内容移动到您的文件标签,它应该如下所示:
<?xml version="1.0"?>
<package>
<metadata minClientVersion="3.3.0">
...
</metadata>
<files>
<file include="**/images/*.*" target="Content" />
<file src="..." target="..." />
</files>
</package>