首页 > 解决方案 > 如何使用ILSpy反编译查看Nuget包dll源码

问题描述

我已经安装了一些 asp.net 核心 mvc dll(Microsoft.AspNetCore.Mvc.Abstraction.dll)。我想反编译它并查看源代码。该dll被添加到我的项目>依赖项> Nuget。

但是,我不确定 dll 在我的系统中的确切位置。

有没有一种快速的方法可以在 ILSypy 中启动添加的 dll 并查看代码或至少查看对象继承树?

谢谢。

标签: dllnugetilspy

解决方案


ASP.NET Core 是开源的,所以正如 Hans 作为对您问题的评论所写的那样,您可以直接查看源代码,无需反编译。

但为了将来参考,NuGet dll 被提取到两个位置之一。仍然使用 packages.config 的旧项目,通常将 dll 提取到一个文件夹,该文件夹命名packages为文件所在的子文件夹.sln

使用PackageReference的包,包被解压到您帐户的全局包文件夹中,默认情况下%userprofile%\.nuget\packages位于 Windows 以及~/.nuget/packagesLinux 和 Mac 上。您还可以查看项目obj\project.assets.json文件以查找所有引用的路径。

所有路径都可以使用nuget.config设置(甚至使用 PackageReference 的项目的 msbuild 属性)进行修改。但如果是这种情况,您或您的队友可能会知道,所以我上面列出的文件夹的默认位置应该是正确的。


推荐阅读