如果在 nuspec 文件中指定了资源,如何在项目中包含内容文件?
How to include content files in project if resources are specified in nuspec file?
我正在创建一个包含一大堆 DLL 的 nuget 包定义。其中一些仅在设计时需要,因此根据 Nuspec Reference 我创建了一个 references
部分来指定项目应引用哪些程序集。
我还指定了要包含的文件列表。其中一些文件是库,一个是在包安装期间执行的 PowerShell 脚本,一个只是应该稍后添加到项目中的内容文件。
这些是我的 nuspec 文件的相关部分:
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<!-- Most of the metadata stuff left out for brevity -->
<dependencies />
<references>
<reference file="MyComponent.dll" />
<reference file="MyComponent.Data.dll" />
<reference file="MyComponent.Other.dll" />
</references>
</metadata>
<files>
<file src="MyPackage.install.ps1" target="tools\install.ps1" />
<file src="MyComponent.ReadMe.txt" target="ReadMe.txt" />
<file src="C:\Some\Path\MyComponent.*.dll" target="lib\net45" />
<file src="C:\Some\Path\MyComponent.*.xml" target="lib\net45" />
<file src="C:\Some\Other\Path\*.dll" target="lib\net45" />
</files>
</package>
我的问题是:安装包时,licenses.licx 文件没有包含在项目中。我必须改变什么才能实现这一目标?
将它添加到 references
部分不起作用,因为它不是库...
我发现出了什么问题。要将文件包含到目标项目中,需要将文件放在包文件夹结构中名为 content
的子文件夹中:
nuspec 文件的正确 files
部分将如下所示:
<files>
<!-- other files omitted for brevity -->
<file src="MyComponent.ReadMe.txt" target="content\ReadMe.txt" />
</files>
我正在创建一个包含一大堆 DLL 的 nuget 包定义。其中一些仅在设计时需要,因此根据 Nuspec Reference 我创建了一个 references
部分来指定项目应引用哪些程序集。
我还指定了要包含的文件列表。其中一些文件是库,一个是在包安装期间执行的 PowerShell 脚本,一个只是应该稍后添加到项目中的内容文件。
这些是我的 nuspec 文件的相关部分:
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
<metadata>
<!-- Most of the metadata stuff left out for brevity -->
<dependencies />
<references>
<reference file="MyComponent.dll" />
<reference file="MyComponent.Data.dll" />
<reference file="MyComponent.Other.dll" />
</references>
</metadata>
<files>
<file src="MyPackage.install.ps1" target="tools\install.ps1" />
<file src="MyComponent.ReadMe.txt" target="ReadMe.txt" />
<file src="C:\Some\Path\MyComponent.*.dll" target="lib\net45" />
<file src="C:\Some\Path\MyComponent.*.xml" target="lib\net45" />
<file src="C:\Some\Other\Path\*.dll" target="lib\net45" />
</files>
</package>
我的问题是:安装包时,licenses.licx 文件没有包含在项目中。我必须改变什么才能实现这一目标?
将它添加到 references
部分不起作用,因为它不是库...
我发现出了什么问题。要将文件包含到目标项目中,需要将文件放在包文件夹结构中名为 content
的子文件夹中:
nuspec 文件的正确 files
部分将如下所示:
<files>
<!-- other files omitted for brevity -->
<file src="MyComponent.ReadMe.txt" target="content\ReadMe.txt" />
</files>