
ILSpy v10.1.1
.NET 디컴파일러, PDB 생성 지원, ReadyToRun, 메타데이터(및 기타) - 크로스 플랫폼!
ILSpy

ILSpy는 오픈소스, 크로스플랫폼 .NET 어셈블리 브라우저 및 디컴파일러입니다. 데스크톱 UI는 (Avalonia 기반) Windows, Linux, macOS에서 실행됩니다.
다운로드: 최신 릴리스 | 최신 CI 빌드 (master) | Microsoft Store(RTM 버전만)
디컴파일러 프론트엔드
크로스플랫폼 데스크톱 UI인 ILSpy(릴리스를 통해 다운로드 가능, 플러그인도 참조) 외에도 다음과 같은 다른 프론트엔드를 사용할 수 있습니다:
- Visual Studio 2022/2026에는 기본적으로 F12 디컴파일 지원이 활성화된 상태로 제공됩니다(각각 당사의 엔진 v8.2 및 v9.1 사용).
- 당사의 Visual Studio 2022 확장 프로그램 마켓플레이스 (VS 2026에서도 작동)
- 당사의 Visual Studio Code 확장 프로그램 저장소 | 마켓플레이스 | open-vsx
- Linux/Mac/Windows용 당사의 dotnet 도구 - 이 저장소의 ILSpyCmd을 확인하세요 | dotnet tool 설치
- C# for Visual Studio Code에도 디컴파일 지원이 포함되어 있습니다. 활성화하려면 "Enable Decompilation Support" 설정을 켜세요.
- Visual Studio 2019에서는 F12 지원을 수동으로 활성화해야 합니다. Tools / Options / Text Editor / C# / Advanced로 이동하여 "Enable navigation to decompiled source"를 체크하세요.
- 자체 프로젝트를 위한 당사의 ICSharpCode.Decompiler 및 ILSpyX NuGet 패키지
- 이 저장소에 있는 당사의 Linux/Mac/Windows용 PowerShell cmdlets
기능
- C#으로의 디컴파일 (언어 지원 상태 확인)
- 전체 프로젝트 디컴파일
- 디스크 및 GAC 외에도 NuGet 피드에서, 실행 중인 프로세스에서 열기 (Windows 전용)
- 형식/메서드/속성 검색 (옵션 알아보기)
- 하이퍼링크 기반 형식/메서드/속성 탐색, 책갈피
- 기본/파생 형식 탐색, 기록
- 어셈블리 메타데이터 탐색기 (기능 둘러보기)
- BAML to XAML 디컴파일러, !AvaloniaResources 지원
- .NET Core용 ReadyToRun 바이너리 지원 (튜토리얼 참조)
- 플러그인을 통한 확장
- DEBUG 빌드의 추가 기능 (개발자용)
라이선스
ILSpy는 MIT 라이선스로 배포됩니다. 자세한 내용은 About 문서를 참조하고, 포함된 오픈소스 라이브러리는 타사 고지 사항을 참조하세요.
빌드 방법
Windows:
- Windows PowerShell(최소 버전) 5.0 또는 PowerShell 7+가 설치되어 있는지 확인하세요.
- git을 사용하여 ILSpy 저장소를 클론하세요.
- 일부 테스트 사례에서 사용되는 ILSpy-Tests 서브모듈을 다운로드하려면
git submodule update --init --recursive를 실행하세요. - Visual Studio(문서화된 버전: 18.0/2026)를 설치하세요. 다음 워크로드 구성 요소가 필요합니다:
- ".NET Desktop Development" 워크로드. 이 워크로드에는 .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 extension development" 워크로드 (참고: ILSpy.VSExtensions.slnx는 ILSpy.sln과 별개이므로 이 워크로드는 선택 사항입니다)
- "MSVC v143 - VS 2022 C++ x64/x86 build tools" 개별 구성 요소 (또는 유사한 것)
- VC++ 도구 집합은 선택 사항입니다. 설치된 경우
editbin.exe를 사용하여 ILSpy.exe가 사용하는 스택 크기를 1MB에서 16MB로 수정합니다. 디컴파일러는 재귀를 많이 사용하므로, 작은 스택 크기는 매우 복잡한 메서드에서 문제를 일으킬 수 있습니다.
- VC++ 도구 집합은 선택 사항입니다. 설치된 경우
- Visual Studio에서 ILSpy.sln을 여세요.
- NuGet 패키지 복원이 추가 종속성을 자동으로 다운로드합니다
- ILSpy UI를 위해 "ILSpy" 프로젝트를 실행하세요
- Visual Studio "Test Explorer"를 사용하여 테스트를 확인/실행하세요
- 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(테스트용)가 설치되어 있는지 확인하세요.
- PowerShell이 설치되어 있는지 확인하세요(이전에는 PowerShell Core로 알려짐)
- git을 사용하여 저장소를 클론하세요.
- 일부 테스트 사례에서 사용되는 ILSpy-Tests 서브모듈을 다운로드하려면
git submodule update --init --recursive를 실행하세요. dotnet build ILSpy.Desktop.slnf를 사용하여 크로스플랫폼 Avalonia 데스크톱 UI를 빌드하고,dotnet run --project ILSpy로 실행하세요.dotnet build ILSpy.XPlat.slnf를 사용하여 CLI 도구(ilspycmd)와 PowerShell cmdlet만 빌드하세요.
기여 방법
- 버그 신고
- 풀 리퀘스트를 기여하려면 잘못된 형식의 코드가 커밋되지 않도록 https://github.com/icsharpcode/ILSpy/blob/master/BuildTools/pre-commit을
.git/hooks에 추가하세요. 저희는 공백이 아닌 탭을 사용합니다. 빌드 서버도 동일한 스크립트를 실행하므로 잘못된 형식을 사용하는 풀 리퀘스트는 실패합니다.
현재 및 과거 기여자.
ILSpy 개인정보 처리방침
ILSpy는 개인 식별 정보를 수집하지 않으며 사용자 파일을 제3자 서비스로 전송하지 않습니다. ILSpy는 텔레메트리나 메트릭을 수집하기 위해 APM(Application Performance Management) 서비스를 사용하지 않습니다.