获取现有NuGet包的.nuspec文件

5

有没有办法获取现有nuget包的原始nuspec清单文件?

假设我已经从nuget库下载了一个nuget包,我想知道原始的.nuspec文件是什么样子的,以便了解它的工作原理。是否有办法从包中获取它?还是需要联系包的创建者?

3个回答

7

您无法从.nupkg文件本身获取用于生成.nupkg的原始.nuspec文件,因为它将是不完整的。即使原始的.nuspec文件中包含更多信息,.nupkg文件仅包含NuGet软件包的元数据在其.nuspec文件中。

.nupkg只是一个.zip文件,所以您可以将其重命名为.zip或者直接在您喜欢的Zip文件编辑器中打开。

如果您对.nuspec文件的文件部分感兴趣,则需要从NuGet软件包创建者那里找到原始的.nuspec文件。此外,如果软件包创建者使用NuGet pack projectname.csproj,则可能仍然没有有关文件的完整信息,因为此信息来自项目文件。


谢谢!它帮了很多忙。 - Bright Lee
真的,但是请检查一下这个链接:https://dev59.com/FY3da4cB1Zd3GeqP2ZwN#42681169(如果它有用的话) - Aniket Bhansali
@DanLeksell - 从.nupkg获取的.nuspec文件是不完整的。它缺少元数据部分。我在评论中的第一句话是错误的,我会更新 - 其余部分仍然应该是正确的。 - Matt Ward
重新阅读一下。你无法从 .nupkg 文件中获取原始的 .nuspec 文件,因为其中的元数据会丢失 - 这是准确的。我已经修改了它,以使其更加清晰。 - Matt Ward

7

2

nuspec文件位于包内。正如@MattWard所说,.nupkg只是一个.zip文件,因此您可以将其重命名为.zip或在您喜欢的Zip文件编辑器中打开它。

在许多情况下,nuspec包含在包中,因此您可以:

  1. 将文件从.nupkg重命名为.Zip
  2. 提取文件到位置
  3. 该位置内应包含原始的.nuspec文件

在Nuget Package Zip中包含原始的Nuspec。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接