【问题标题】:Get .nuspec file for existing nuget package获取现有 nuget 包的 .nuspec 文件
【发布时间】:2015-07-31 10:03:45
【问题描述】:

有没有办法为现有的 nuget 包获取原始 .nuspec manifest 文件?

假设我从 nuget 库下载了一个 nuget 包,我很好奇原始 .nuspec 文件的外观如何,以了解它是如何工作的。有没有办法把它从包装中取出来?或者我需要联系包创建者吗?

【问题讨论】:

    标签: nuget nuget-package


    【解决方案1】:

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

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

    如果您对 .nuspec 的文件部分感兴趣,那么您需要从 NuGet 包创建者那里找到原始的 .nuspec 文件。此外,如果包创建者使用了NuGet pack projectname.csproj,那么它仍然无法获得有关文件的完整信息,因为这些信息是从项目文件中获取的。

    【讨论】:

    • 谢谢!它帮助很大。
    • 没错,但一旦检查,stackoverflow.com/a/42681169/3531672(以防万一)
    • @DanLeksell - 您从 .nupkg 获得的 .nuspec 文件不完整。它错过了元数据部分。我的评论中的第一个陈述不正确,我会更新 - 其余的应该仍然是正确的。
    • 其实重读一遍。您无法从 .nupkg 获取原始 .nuspec ,它将丢失元数据 - 这是准确的。我已将其更改为可能更清晰。
    【解决方案2】:

    尝试以下方法:

    1. 使用 Nuget 包资源管理器打开包:https://github.com/NuGetPackageExplorer/NuGetPackageExplorer
    2. 将包导出到如图所示的文件夹
    3. 在导出的文件夹中找到 nuspec 文件。

    【讨论】:

      【解决方案3】:

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

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

      1. 从 .nupkg 重命名为 .Zip
      2. 将文件解压到某个位置
      3. 在该位置内应包含原始 .nuspec

      在 Nuget 包 Zip 中包含原始 Nuspec

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-17
        • 2015-10-13
        • 2014-03-10
        • 1970-01-01
        • 2019-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多