跳到正文
发现
桌面应用开发者工具

ILSpy:.NET 反编译工具

开源的跨平台 .NET 程序集浏览器与反编译器,帮开发者把程序集还原成 C# 源码。

admin
发布于 2026-10-28
浏览
4
访问
0
下载
0
版本
v11.2
平台
Windows、macOS、Linux
该作品还没有经过官方审核。访问演示、下载或复制命令前,请自行确认来源可信。

详细介绍

项目简介

ILSpy 是一款开源、跨平台的 .NET 程序集浏览器与反编译器。桌面端界面基于 Avalonia 构建,可在 Windows、Linux 和 macOS 上运行。它可以把 .NET 程序集反编译成 C# 代码,并提供程序集浏览、元数据查看、搜索导航等功能,适合需要查看、分析或学习 .NET 程序内部实现的开发者使用。

除桌面版外,项目还提供多种前端形式:

  • Visual Studio 2022/2026 自带的 F12 反编译支持(分别使用其 v8.2、v9.1 引擎)
  • Visual Studio 2022/2026 扩展(marketplace)
  • Visual Studio Code 扩展(仓库 | marketplace | open-vsx)
  • Linux/Mac/Windows 上的 dotnet 命令行工具 ILSpyCmd(NuGet)
  • 可集成到自有项目的 ICSharpCode.Decompiler 与 ILSpyX NuGet 包
  • PowerShell cmdlets(位于本仓库中)
  • C# for Visual Studio Code 插件也内置反编译支持,开启设置中的 “Enable Decompilation Support” 即可使用

主要功能

  • 反编译到 C#(语言支持情况见 issues/829)
  • 整项目反编译
  • 除从磁盘和 GAC 打开外,还支持从 NuGet 源打开、从运行中的进程打开(仅 Windows)
  • 搜索类型/方法/属性(搜索选项说明)
  • 基于超链接的类型/方法/属性导航,以及书签
  • 基类/派生类型导航与历史记录
  • 程序集元数据浏览器(功能说明)
  • BAML 转 XAML 反编译,支持 !AvaloniaResources
  • 支持 .NET Core 的 ReadyToRun 二进制(教程)
  • 可通过插件扩展
  • DEBUG 构建中包含额外的开发者功能(说明)

安装与使用

普通用户可直接从 Releases 下载最新版本,或从 Microsoft Store 获取正式版;也可使用 最新 CI 构建。命令行场景可使用本仓库中的 ILSpyCmd 工具。

从源码构建(Windows):

  • 安装 PowerShell 7+(Windows PowerShell 5.0 及以上也可)
  • 克隆仓库后执行 git submodule update --init --recursive 下载 ILSpy-Tests 子模块
  • 安装 Visual Studio(文档版本 18.0/2026),需要 “.NET Desktop Development” 工作负载(含 .NET Framework 4.8 SDK、.NET Framework 4.7.2 targeting pack 与 .NET 10.0 SDK);单元测试需要 .NET 11.0 SDK。可选安装 “MSVC v143 - VS 2022 C++ x64/x86 build tools”,用于通过 editbin.exe 把 ILSpy.exe 的栈大小从 1MB 调整为 16MB(反编译器大量使用递归,栈太小会在极复杂方法上出问题)
  • 用 Visual Studio 打开 ILSpy.slnx,NuGet 还原会自动拉取依赖,运行 “ILSpy” 项目即可启动界面;测试可在 Test Explorer 中运行
  • 也可只关注某个子集:ILSpy.Desktop.slnf(跨平台 Avalonia UI 及其测试)、ILSpy.XPlat.slnf(跨平台 CLI ilspycmd 或 PowerShell cmdlets)、ILSpy.VSExtensions.slnx(Visual Studio 扩展)

从源码构建(Unix / Mac):

git submodule update --init --recursive
dotnet build ILSpy.Desktop.slnf
dotnet run --project ILSpy
dotnet build ILSpy.XPlat.slnf

需要预先安装 .NET 10.0 SDK(运行)与 .NET 11.0 SDK(测试),以及 PowerShell。官方推荐使用 Visual Studio Code 配合 DotRush 进行开发。

注意事项

  • ILSpy 仅兼容 .NET 11.0 SDK;Visual Studio 自带的 .NET SDK 可能在更新后被升级,导致部分项目无法加载或单元测试失败,此时需手动安装 .NET 11.0 SDK。
  • ILSpy 采用 MIT 许可证发布,详见仓库中的 About 文档与第三方声明。
  • 隐私方面,ILSpy 不收集任何个人身份信息,不会把用户文件发送给第三方服务,也不使用 APM 服务采集遥测或指标。

本作品整理自 GitHub 开源项目 icsharpcode/ILSpy,原作者 @icsharpcode,许可证 MIT。中文介绍由 AI 根据项目 README 整理,以原仓库为准。

更新记录

  1. v11.2当前版本

    持续提升反编译准确性与性能(含内存占用);ilspycmd 新增 linux-x64、win-x64 的 Native AOT 包,调用速度提升约 4~7 倍;新增跨平台 PDB 导出、Options 标签页搜索框。

评论