diff --git a/README.md b/README.md index 51ea8d848..f0f53440b 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ # ILSpy [![NuGet](https://img.shields.io/nuget/v/ICSharpCode.Decompiler.svg)](https://nuget.org/packages/ICSharpCode.Decompiler) ![Build ILSpy](https://github.com/icsharpcode/ILSpy/workflows/Build%20ILSpy/badge.svg?branch=master) [![Mastodon](https://img.shields.io/badge/dynamic/json?label=Mastodon&query=totalItems&url=https%3A%2F%2Fhachyderm.io%2Fusers%2Filspy%2Ffollowers.json&logo=mastodon&style=flat-square)](https://hachyderm.io/@ilspy) [![Bluesky](https://img.shields.io/badge/Bluesky-0285FF?logo=bluesky&logoColor=fff)](https://bsky.app/profile/ilspy.bsky.social) [![ILSpy VS extension](https://img.shields.io/badge/VS%20Extension-ILSpy-blue.svg)](https://visualstudiogallery.msdn.microsoft.com/8ef1d688-f80c-4380-8004-2ec7f814e7de) -ILSpy is the open-source .NET assembly browser and decompiler. +ILSpy is the open-source, cross-platform .NET assembly browser and decompiler. The desktop UI runs on Windows, Linux, and macOS (built on [Avalonia](https://avaloniaui.net/)). Download: [latest release](https://github.com/icsharpcode/ILSpy/releases) | [latest CI build (master)](https://github.com/icsharpcode/ILSpy/actions?query=workflow%3A%22Build+ILSpy%22+branch%3Amaster+is%3Asuccess+event%3Apush) | [Microsoft Store (RTM versions only)](https://apps.microsoft.com/store/detail/ilspy-fresh/XP8C26VDWLP4T4) Decompiler Frontends ------- -Aside from the WPF UI ILSpy (downloadable via Releases, see also [plugins](https://github.com/icsharpcode/ILSpy/wiki/Plugins)), the following other frontends are available: +Aside from the cross-platform desktop UI ILSpy (downloadable via Releases, see also [plugins](https://github.com/icsharpcode/ILSpy/wiki/Plugins)), the following other frontends are available: * Visual Studio 2022/2026 ship with decompilation support for F12 enabled by default (using our engines v8.2 and v9.1 respectively). * Our Visual Studio 2022 extension [marketplace](https://marketplace.visualstudio.com/items?itemName=SharpDevelopTeam.ILSpy2022) (works with VS 2026 as well) @@ -48,7 +48,7 @@ How to build - Clone the ILSpy repository using git. - Execute `git submodule update --init --recursive` to download the ILSpy-Tests submodule (used by some test cases). - Install Visual Studio (documented version: 18.0/2026). You need the following workload components: - - Workload ".NET Desktop Development". This workload includes the .NET Framework 4.8 SDK and the .NET Framework 4.7.2 targeting pack, as well as the [.NET 10.0 SDK](https://dotnet.microsoft.com/download/dotnet/10.0) (ILSpy.csproj targets .NET 10.0, but we have net472 projects too). + - Workload ".NET Desktop Development". This workload includes the .NET Framework 4.8 SDK and the .NET Framework 4.7.2 targeting pack, as well as the [.NET 11.0 SDK](https://dotnet.microsoft.com/download/dotnet/11.0) (ILSpy.csproj targets .NET 11.0, but we have net472 projects too). - Workload "Visual Studio extension development" (Note: ILSpy.VSExtensions.sln is separate from ILSpy.sln and thus this workload is optional) - Individual Component "MSVC v143 - VS 2022 C++ x64/x86 build tools" (or similar) - _The VC++ toolset is optional_; if present it is used for `editbin.exe` to modify the stack size used by ILSpy.exe from 1MB to 16MB, because the decompiler makes heavy use of recursion, where small stack sizes lead to problems in very complex methods. @@ -57,21 +57,22 @@ How to build - Run project "ILSpy" for the ILSpy UI - Use the Visual Studio "Test Explorer" to see/run the tests - If you are only interested in a specific subset of ILSpy, you can also use - - ILSpy.Wpf.slnf: for the ILSpy WPF frontend - - ILSpy.XPlat.slnf: for the cross-platform CLI or PowerShell cmdlets - - ILSpy.AddIn.slnf: for the Visual Studio plugin + - ILSpy.Desktop.slnf: for the cross-platform Avalonia UI and its tests + - ILSpy.XPlat.slnf: for the cross-platform CLI (ilspycmd) or PowerShell cmdlets + - ILSpy.VSExtensions.sln: for the Visual Studio extensions **Note:** Visual Studio includes a version of the .NET SDK that is managed by the Visual Studio installer - once you update, it may get upgraded too. -Please note that ILSpy is only compatible with the .NET 10.0 SDK and Visual Studio will refuse to load some projects in the solution (and unit tests will fail). -If this problem occurs, please manually install the .NET 10.0 SDK from [here](https://dotnet.microsoft.com/download/dotnet/10.0). +Please note that ILSpy is only compatible with the .NET 11.0 SDK and Visual Studio will refuse to load some projects in the solution (and unit tests will fail). +If this problem occurs, please manually install the .NET 11.0 SDK from [here](https://dotnet.microsoft.com/download/dotnet/11.0). #### Unix / Mac: -- Make sure [.NET 10.0 SDK](https://dotnet.microsoft.com/download/dotnet/10.0) is installed. +- Make sure [.NET 11.0 SDK](https://dotnet.microsoft.com/download/dotnet/11.0) is installed. - Make sure [PowerShell](https://github.com/PowerShell/PowerShell) is installed (formerly known as PowerShell Core) - Clone the repository using git. - Execute `git submodule update --init --recursive` to download the ILSpy-Tests submodule (used by some test cases). -- Use `dotnet build ILSpy.XPlat.slnf` to build the non-Windows flavors of ILSpy (.NET Core Global Tool and PowerShell Core). +- Use `dotnet build ILSpy.Desktop.slnf` to build the cross-platform Avalonia desktop UI; run it with `dotnet run --project ILSpy`. +- Use `dotnet build ILSpy.XPlat.slnf` to build only the CLI tool (ilspycmd) and PowerShell cmdlets. How to contribute -----------------