我想创建一个nuget包(来自一些c#项目),但我不想嵌入生成的dll,而只是一些静态文件.
我在我的nuspec文件末尾添加了一个标签,但是nuget pack命令继续将project.dll嵌入到包中.问题是我不希望这个dll被发布.
有没有办法做到这一点?
谢谢,
雷吉斯
是。您可以创建一个仅引用内容文件的.nuspec文件。
您必须使用 nuget pack MyPackage.nuspec
不要打包.csproj文件,因为这会导致NuGet包含生成的程序集。
有关更多信息,请参见http://docs.nuget.org/create/nuspec参考。
要将文件打包为内容,您必须target=content在 .nuspec 文档中列出该文件时使用。
要创建“仅内容”nuget 包,必须使用<files>节点来列出文件。
一个<files>节点必须是该节点的兄弟节点<metadata>。
节点<file>必须是节点的子节点<files>。
要将文件包含为内容,请将节点中的目标<file>属性设置为“内容”。
例子:
<files>
<file src="{filePath}" target="content"/>
</files>
Run Code Online (Sandbox Code Playgroud)
如前所述,您必须打包 .nuspec 文件而不是 .csproj 文件:
nuget pack *.nuspec
Run Code Online (Sandbox Code Playgroud)
我target=content在这里找到了窍门:
https://learn.microsoft.com/en-us/nuget/reference/nuspec#include-content-files
| 归档时间: |
|
| 查看次数: |
3451 次 |
| 最近记录: |