检查一个 nuget 包的内容

有没有一种方法可以检查 NuGet 包的内容,看看它会做出什么改变?在 NuGet.exe 命令行中没有这样的选项,我在 NuGet 文档中也没有找到任何关于这方面的信息。

67360 次浏览

.nupkg文件只是带有一些元数据的 ZIP 文件,因此您可以查看其内容。NuGet 软件包浏览器应该使得查看内容更加容易一些。

NuGet Gallery (例如 https://www.nuget.org/)在右侧有一个“下载”链接,否则只需将软件包安装到一个空项目中,然后就可以看一眼了。

Windows 用户:

正如乔纳森 · 罗西指出的,

. nupkg 文件只是 ZIP 文件,因此您可以查看其内容

因此,在 Windows 机器上,为了进行临时修复,只需将文件扩展名从 .nupkg更改为 .zip,然后使用 Windows 的 File Explorer来利用现有的 .zip(CompressedFolder)文件的文件关联。

它是可能的“永久”关联 .nupkg与您的系统的 CompressedFolder工具。但是,这至少会损坏 IconCache.db,并且恢复它的典型方法对我不起作用(删除 IconCache.db并重新启动)。因此,如果您关心在 File Explorer中看到正确的文件图标,我建议 反对.nupkgCompressedFolder关联起来。

考虑到这一点,如果您想要一个更长期的解决方案,打开 .nupkg文件,而不改变其扩展名..。

您可以通过命令提示符(cmd)轻松地设置文件关联,如下所示:

enter image description here

这些文件现在将具有与您的文件系统上的任何其他 CompressedFolder相同的图标,并且您可以保持它们的扩展名不变(如 .nupkg)。

要撤消这个关联,请为 .nupkg重复 assoc命令,但将 RHS 保留为空白:

enter image description here

您可以通过运行 assoc .nupkg去掉等号(=)。在任何时候确认当前的文件关联:

enter image description here

另一种解决方案是使用 DotPeek

它有一个选项可以直接从 NuGet 和 NuGet 缓存反编译软件包。

Screenshot from DotPeek