Repolode
icsharpcode

icsharpcode/ILSpy

开源、跨平台的 .NET 程序集浏览器与反编译器,可将编译后的 .NET 程序还原为可读的 C# 代码。

可替代:dotPeek

Star
26,973
Fork
3,811
未关闭 Issue
160
最近提交
22小时前

这是什么?

ILSpy 是一个 .NET 程序集浏览器和反编译器,可以打开已编译的 .NET 程序集并还原出 C# 源码。当源码丢失、或需要查看第三方库的实现时,它能帮助开发者理解二进制文件的逻辑。桌面界面基于 Avalonia 构建,可在 Windows、Linux 和 macOS 上运行。

除桌面应用外,同一套反编译引擎还以命令行工具(ilspycmd)、dotnet 工具、PowerShell cmdlet、NuGet 包的形式提供,并有 Visual Studio 和 VS Code 扩展。Visual Studio 也内置了基于它的 F12 反编译跳转功能。

界面支持整个项目的反编译、类型与成员搜索、类型间超链接跳转、基类与派生类浏览以及元数据查看器,还能打开 NuGet 源中的程序集、处理 .NET Core 的 ReadyToRun 二进制,并支持插件扩展。

核心功能

  • 01将 .NET 程序集反编译为 C#,支持整个项目输出
  • 02桌面界面可在 Windows、Linux 和 macOS 上运行
  • 03支持类型、方法和属性搜索,并提供超链接跳转与书签
  • 04提供程序集元数据浏览器,以及基类和派生类导航
  • 05支持 .NET Core 的 ReadyToRun 二进制和 BAML 到 XAML 的转换
  • 06支持插件扩展,并集成到 Visual Studio、VS Code 与命令行中

适用场景

  • 在没有源码的情况下查看第三方库的实际实现
  • 从源码已丢失的旧版 .NET 程序中恢复业务逻辑
  • 在 Visual Studio 中通过 F12 跳转查看外部代码
  • 在 CI 或自动化脚本中借助 ilspycmd 批量反编译

快速上手

  1. 1

    克隆仓库并获取测试子模块

    git submodule update --init --recursive
  2. 2

    构建跨平台 Avalonia 桌面界面

    dotnet build ILSpy.Desktop.slnf
  3. 3

    运行 ILSpy 桌面界面

    dotnet run --project ILSpy

使用前须知

  • 构建需要 .NET 10.0 SDK,运行测试还需要 .NET 11.0 SDK。
  • 打开运行中进程或 GAC 等完整功能仅限 Windows。

收录于专题

标签

常见问题

ILSpy 是什么?
开源、跨平台的 .NET 程序集浏览器与反编译器,可将编译后的 .NET 程序还原为可读的 C# 代码。 ILSpy 是一个 .NET 程序集浏览器和反编译器,可以打开已编译的 .NET 程序集并还原出 C# 源码。当源码丢失、或需要查看第三方库的实现时,它能帮助开发者理解二进制文件的逻辑。桌面界面基于 Avalonia 构建,可在 Windows、Linux 和 macOS 上运行。
ILSpy 可以免费使用吗?用的什么许可证?
ILSpy 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
ILSpy 还在维护吗?
活跃维护中。ILSpy 最近一次提交是在 2026年11月6日。
ILSpy 适合用来做什么?
在没有源码的情况下查看第三方库的实际实现 从源码已丢失的旧版 .NET 程序中恢复业务逻辑 在 Visual Studio 中通过 F12 跳转查看外部代码 在 CI 或自动化脚本中借助 ilspycmd 批量反编译
ILSpy 怎么安装和运行?
克隆仓库并获取测试子模块: git submodule update --init --recursive 构建跨平台 Avalonia 桌面界面: dotnet build ILSpy.Desktop.slnf 运行 ILSpy 桌面界面: dotnet run --project ILSpy
在哪里获取 ILSpy?
源代码和安装说明在 GitHub 上:https://github.com/icsharpcode/ILSpy

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目