أداة dotnet الخاصة بنا لأنظمة Linux/Mac/Windows - اطّلع على ILSpyCmd في هذا المستودع | تثبيت أداة dotnet
C# for Visual Studio Code يشتمل أيضًا على دعم فك الترجمة. لتفعيله، فعّل الإعداد "Enable Decompilation Support".
في Visual Studio 2019، يجب عليك تمكين دعم F12 يدويًا. انتقل إلى Tools / Options / Text Editor / C# / Advanced وحدّد خيار "Enable navigation to decompiled source"
يتم توزيع ILSpy بموجب رخصة MIT. يرجى الاطلاع على وثيقة About للحصول على التفاصيل، وكذلك إشعارات الأطراف الثالثة للمكتبات مفتوحة المصدر المضمنة.
كيفية البناء
Windows:
تأكد من تثبيت Windows PowerShell (الإصدار 5.0 على الأقل) أو PowerShell 7+.
استنسخ مستودع ILSpy باستخدام git.
نفّذ 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، بالإضافة إلى .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، لأن المفكك يستخدم بشكل كبير العودية (recursion)، حيث تؤدي أحجام المكدس الصغيرة إلى مشاكل في الأساليب شديدة التعقيد.
استخدم "Test Explorer" في Visual Studio لعرض/تشغيل الاختبارات
إذا كنت مهتمًا فقط بمجموعة فرعية معينة من ILSpy، يمكنك أيضًا استخدام
ILSpy.Desktop.slnf: لواجهة Avalonia عبر الأنظمة واختباراتها
ILSpy.XPlat.slnf: لواجهة سطر الأوامر عبر الأنظمة (ilspycmd) أو أوامر PowerShell
ILSpy.VSExtensions.slnx: لإضافات Visual Studio
ملاحظة: يتضمن Visual Studio إصدارًا من .NET SDK يديره مثبّت Visual Studio - بمجرد التحديث، قد تتم ترقيته أيضًا.
يرجى ملاحظة أن ILSpy متوافق فقط مع .NET 11.0 SDK وسيرفض Visual Studio تحميل بعض المشاريع في الحل (وستفشل اختبارات الوحدة).
إذا حدثت هذه المشكلة، يرجى تثبيت .NET 11.0 SDK يدويًا من هنا.
تأكد من تثبيت PowerShell (المعروف سابقًا باسم PowerShell Core)
استنسخ المستودع باستخدام git.
نفّذ git submodule update --init --recursive لتنزيل الوحدة الفرعية ILSpy-Tests (المستخدمة في بعض حالات الاختبار).
استخدم dotnet build ILSpy.Desktop.slnf لبناء واجهة سطح المكتب عبر الأنظمة Avalonia؛ وشغّلها باستخدام dotnet run --project ILSpy.
استخدم dotnet build ILSpy.XPlat.slnf لبناء أداة سطر الأوامر فقط (ilspycmd) وأوامر PowerShell.
كيفية المساهمة
الإبلاغ عن الأخطاء
إذا كنت تريد المساهمة بطلب سحب (pull request)، يرجى إضافة https://github.com/icsharpcode/ILSpy/blob/master/BuildTools/pre-commit إلى .git/hooks الخاص بك لمنع إيداع كود بتنسيق غير صحيح. نحن نستخدم علامات التبويب وليس المسافات. يقوم خادم البناء بتشغيل البرنامج النصي نفسه، لذا فإن أي طلبات سحب تستخدم تنسيقًا غير صحيح ستفشل.
لا يجمع ILSpy أي معلومات شخصية قابلة للتحديد (PII)، ولا يرسل ملفات المستخدم إلى خدمات الطرف الثالث.
لا يستخدم ILSpy أي خدمة APM (إدارة أداء التطبيقات) لجمع بيانات القياس عن بُعد أو المقاييس.