ILSpy

ILSpy एक ओपन-सोर्स, क्रॉस-प्लेटफ़ॉर्म .NET असेंबली ब्राउज़र और डिकंपाइलर है। डेस्कटॉप UI Windows, Linux और macOS पर चलता है (Avalonia पर निर्मित)।
डाउनलोड: नवीनतम रिलीज़ | नवीनतम 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 install
- 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# में डिकंपिलेशन (भाषा समर्थन स्थिति देखें)
- संपूर्ण-प्रोजेक्ट डिकंपिलेशन
- NuGet फ़ीड से खोलें, डिस्क और GAC के अलावा चल रही प्रक्रिया से खोलें (केवल Windows)
- टाइप/मेथड/प्रॉपर्टी खोजें (विकल्प के बारे में जानें)
- हाइपरलिंक-आधारित टाइप/मेथड/प्रॉपर्टी नेविगेशन, बुकमार्क
- बेस/डिराइव्ड टाइप नेविगेशन, इतिहास
- असेंबली मेटाडेटा एक्सप्लोरर (सुविधा वॉकथ्रू)
- BAML से 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)। आपको निम्नलिखित workload घटकों की आवश्यकता है:
- Workload ".NET Desktop Development"। इस workload में .NET Framework 4.8 SDK और .NET Framework 4.7.2 targeting pack शामिल है, साथ ही .NET 10.0 SDK (ILSpy.csproj .NET 10.0 को लक्षित करता है, लेकिन हमारे पास net472 प्रोजेक्ट भी हैं)। हमारे यूनिट टेस्ट के लिए .NET 11.0 SDK आवश्यक है।
- Workload "Visual Studio extension development" (नोट: ILSpy.VSExtensions.slnx, ILSpy.sln से अलग है और इस प्रकार यह workload वैकल्पिक है)
- व्यक्तिगत घटक "MSVC v143 - VS 2022 C++ x64/x86 build tools" (या समान)
- VC++ टूलसेट वैकल्पिक है; यदि मौजूद है, तो इसका उपयोग
editbin.exe के लिए किया जाता है ताकि ILSpy.exe द्वारा उपयोग किए जाने वाले स्टैक आकार को 1MB से 16MB में संशोधित किया जा सके, क्योंकि डिकंपाइलर रिकर्सन का भारी उपयोग करता है, जहां छोटे स्टैक आकार बहुत जटिल मेथड्स में समस्याएँ पैदा करते हैं।
- Visual Studio में ILSpy.sln खोलें।
- NuGet पैकेज रिस्टोर स्वचालित रूप से आगे की निर्भरताएँ डाउनलोड करेगा
- ILSpy UI के लिए प्रोजेक्ट "ILSpy" चलाएँ
- टेस्ट देखने/चलाने के लिए Visual Studio "Test Explorer" का उपयोग करें
- यदि आप केवल ILSpy के किसी विशिष्ट सबसेट में रुचि रखते हैं, तो आप निम्न का भी उपयोग कर सकते हैं
- ILSpy.Desktop.slnf: क्रॉस-प्लेटफ़ॉर्म Avalonia UI और इसके टेस्ट के लिए
- ILSpy.XPlat.slnf: क्रॉस-प्लेटफ़ॉर्म CLI (ilspycmd) या PowerShell cmdlets के लिए
- ILSpy.VSExtensions.slnx: Visual Studio एक्सटेंशन के लिए
नोट: Visual Studio में .NET SDK का एक संस्करण शामिल है जो Visual Studio इंस्टॉलर द्वारा प्रबंधित होता है - एक बार अपडेट करने पर, यह भी अपग्रेड हो सकता है।
कृपया ध्यान दें कि 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 निष्पादित करें।
- क्रॉस-प्लेटफ़ॉर्म Avalonia डेस्कटॉप UI बनाने के लिए
dotnet build ILSpy.Desktop.slnf का उपयोग करें; इसे dotnet run --project ILSpy के साथ चलाएँ।
- केवल CLI टूल (ilspycmd) और PowerShell cmdlets बनाने के लिए
dotnet build ILSpy.XPlat.slnf का उपयोग करें।
योगदान कैसे करें
- बग रिपोर्ट करें
- यदि आप पुल रिक्वेस्ट में योगदान देना चाहते हैं, तो कृपया गलत फ़ॉर्मेटिंग वाले कोड को चेक इन करने से रोकने के लिए https://github.com/icsharpcode/ILSpy/blob/master/BuildTools/pre-commit को अपने
.git/hooks में जोड़ें। हम टैब का उपयोग करते हैं, स्पेस का नहीं। बिल्ड सर्वर भी यही स्क्रिप्ट चलाता है, इसलिए गलत फ़ॉर्मेटिंग वाली कोई भी पुल रिक्वेस्ट विफल हो जाएगी।
वर्तमान और पिछले योगदानकर्ता।
ILSpy के लिए गोपनीयता नीति
ILSpy कोई भी व्यक्तिगत रूप से पहचान योग्य जानकारी एकत्र नहीं करता है, न ही यह उपयोगकर्ता फ़ाइलों को तृतीय-पक्ष सेवाओं को भेजता है।
ILSpy टेलीमेट्री या मेट्रिक्स एकत्र करने के लिए किसी भी APM (एप्लिकेशन परफॉर्मेंस मैनेजमेंट) सेवा का उपयोग नहीं करता है।