发现
桌面应用开发者工具
ILSpy:.NET 反编译工具
开源的跨平台 .NET 程序集浏览器与反编译器,帮开发者把程序集还原成 C# 源码。
- 浏览
- 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 整理,以原仓库为准。
更新记录
- v11.2当前版本
持续提升反编译准确性与性能(含内存占用);ilspycmd 新增 linux-x64、win-x64 的 Native AOT 包,调用速度提升约 4~7 倍;新增跨平台 PDB 导出、Options 标签页搜索框。
评论