返回更新列表
新发布Aug 4, 2026

ILSpy v11.0-rc

.NET 反编译器,支持PDB生成、ReadyToRun、元数据(及更多)——跨平台!

分享

ILSpy NuGet Build ILSpy Mastodon Bluesky ILSpy VS extension

ILSpy 是一个开源、跨平台的 .NET 程序集浏览器和反编译器。桌面 UI 可在 Windows、Linux 和 macOS 上运行(基于 Avalonia 构建)。

下载:最新版本 | 最新 CI 构建(master) | Microsoft Store(仅 RTM 版本)

反编译器前端

除了跨平台桌面 UI ILSpy(可通过 Releases 下载,另请参阅插件)之外,还提供以下其他前端:

功能

  • 反编译为 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,因为反编译器大量使用递归,较小的堆栈大小会在非常复杂的方法中导致问题。
  • 在 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 的衍生版本。

如何贡献

当前和过去的贡献者。

ILSpy 隐私政策

ILSpy 不收集任何个人身份信息,也不会将用户文件发送到第三方服务。 ILSpy 不使用任何 APM(应用性能管理)服务来收集遥测数据或指标。

分类