
新发布Jul 15, 2026
ILSpy v10.1.1
.NET 反编译器,支持PDB生成、ReadyToRun、元数据(及更多)——跨平台!
ILSpy

ILSpy 是一个开源、跨平台的 .NET 程序集浏览器和反编译器。桌面 UI 可在 Windows、Linux 和 macOS 上运行(基于 Avalonia 构建)。
下载:最新版本 | 最新 CI 构建(master) | Microsoft Store(仅 RTM 版本)
反编译器前端
除了跨平台桌面 UI ILSpy(可通过 Releases 下载,另请参阅插件)之外,还提供以下其他前端:
- Visual Studio 2022/2026 默认启用了 F12 反编译支持(分别使用我们的引擎 v8.2 和 v9.1)。
- 我们的 Visual Studio 2022/2026 扩展 marketplace
- 我们的 Visual Studio Code 扩展 repository | marketplace | open-vsx
- 我们的适用于 Linux/Mac/Windows 的 dotnet 工具 - 请查看本仓库中的 ILSpyCmd | dotnet tool install
- C# for Visual Studio Code 也附带反编译支持。要启用,请激活设置 "Enable Decompilation Support"。
- 我们的 ICSharpCode.Decompiler 和 ILSpyX NuGet 包,供您自己的项目使用
- 我们的适用于 Linux/Mac/Windows 的 PowerShell cmdlets,位于本仓库中
功能
- 反编译为 C#(请查看语言支持状态)
- 全项目反编译
- 从 NuGet 源打开、从运行中的进程打开,以及从磁盘和 GAC 打开(仅限 Windows)
- 搜索类型/方法/属性(了解选项)
- 基于超链接的类型/方法/属性导航、书签
- 基类/派生类型导航、历史记录
- 程序集元数据浏览器(功能演示)
- BAML 到 XAML 反编译器,!AvaloniaResources 支持
- 对 .NET Core 的 ReadyToRun 二进制支持(参见教程)
- 可通过插件扩展
- DEBUG 构建中的附加功能(供开发者使用)
许可证
ILSpy 在 MIT 许可证下分发。详情请参阅 About 文档, 以及包含的开源库的第三方声明。
如何构建
Windows:
- 确保已安装 PowerShell 7+(Windows PowerShell 至少 5.0 版本也可以)
- 使用 git 克隆 ILSpy 仓库。
- 执行
git submodule update --init --recursive以下载 ILSpy-Tests 子模块(部分测试用例会用到)。 - 安装 Visual Studio(文档记录的版本:18.0/2026)。你需要以下工作负载组件:
- 工作负载“.NET 桌面开发”。此工作负载包含 .NET Framework 4.8 SDK 和 .NET Framework 4.7.2 目标包,以及 .NET 10.0 SDK(ILSpy.csproj 目标为 .NET 10.0,但我们也有 net472 项目)。我们的单元测试需要 .NET 11.0 SDK。
- 工作负载“Visual Studio 扩展开发”(注意:ILSpy.VSExtensions.slnx 与 ILSpy.slnx 是分开的,因此此工作负载是可选的)
- 单个组件“MSVC v143 - VS 2022 C++ x64/x86 生成工具”(或类似组件)
- VC++ 工具集是可选的;如果存在,它会用于
editbin.exe,将 ILSpy.exe 使用的堆栈大小从 1MB 修改为 16MB,因为反编译器大量使用递归,较小的堆栈大小会在非常复杂的方法中导致问题。
- VC++ 工具集是可选的;如果存在,它会用于
- 在 Visual Studio 中打开 ILSpy.slnx。
- NuGet 包还原会自动下载其他依赖项
- 运行项目“ILSpy”以启动 ILSpy UI
- 使用 Visual Studio 的“测试资源管理器”查看/运行测试
- 如果你只对 ILSpy 的特定子集感兴趣,也可以使用
- ILSpy.Desktop.slnf:用于跨平台 Avalonia UI 及其测试
- ILSpy.XPlat.slnf:用于跨平台 CLI(ilspycmd)或 PowerShell cmdlet
- ILSpy.VSExtensions.slnx:用于 Visual Studio 扩展
注意: Visual Studio 包含一个由 Visual Studio 安装程序管理的 .NET SDK 版本——一旦你更新,它也可能被升级。 请注意,ILSpy 仅与 .NET 11.0 SDK 兼容,Visual Studio 将拒绝加载解决方案中的某些项目(并且单元测试将失败)。 如果出现此问题,请从此处手动安装 .NET 11.0 SDK。
Unix / Mac:
- 确保已安装 .NET 10.0 SDK(用于运行)和 .NET 11.0 SDK(用于测试)。更好的是,使用 dotnetup 并选择 SDK 预览通道。
- 确保已安装 PowerShell(以前称为 PowerShell Core)
- 使用 git 克隆仓库。
- 执行
git submodule update --init --recursive以下载 ILSpy-Tests 子模块(部分测试用例会用到)。 - 使用
dotnet build ILSpy.Desktop.slnf构建跨平台 Avalonia 桌面 UI;使用dotnet run --project ILSpy运行它。 - 使用
dotnet build ILSpy.XPlat.slnf仅构建 CLI 工具(ilspycmd)和 PowerShell cmdlet。
我们推荐使用 Visual Studio Code 或其衍生版本,并配合 DotRush,后者也适用于 VS Code 的衍生版本。
如何贡献
- 报告 bug
- 如果你想贡献拉取请求,请将 https://github.com/icsharpcode/ILSpy/blob/master/BuildTools/pre-commit 添加到你的
.git/hooks中,以防止提交格式错误的代码。我们使用制表符而非空格。构建服务器运行相同的脚本,因此任何使用错误格式的拉取请求都会失败。
当前和过去的贡献者。
ILSpy 隐私政策
ILSpy 不收集任何个人身份信息,也不会将用户文件发送到第三方服务。 ILSpy 不使用任何 APM(应用性能管理)服务来收集遥测数据或指标。