Avatar ·

كيفية تضمين مكتبات DLL في ملف EXE المترجم في C#؟

مرحباً بالجميع! أنا أكتب تطبيقاً صغيراً بلغة C# (Windows Forms) يستخدم مكتبة طرف ثالث — مثل Newtonsoft.Json أو iTextSharp. عندما أقوم ببناء المشروع في Visual Studio، يظهر في مجلد Debug/Release ملف .exe الخاص بي ومجموعة من ملفات .dll. هذا غير مريح للمستخدمين: يحتاجون إلى التأكد من أن جميع المكتبات موجودة بجانب ملف exe، وإلا فلن يعمل البرنامج. أريد أن أفعل ذلك بحيث يتم تضمين جميع ملفات DLL داخل ملف .exe واحد. أي أن المستخدم يحصل على ملف واحد، ويقوم بتشغيله — وكل شيء يعمل دون أي معالجة إضافية. حاولت البحث في Google، ووجدت ILMerge، لكنه قديم ولا يدعم .NET Core / .NET 5+. كما سمعت عن Costura.Fody، لكنني لست متأكداً من كيفية إعداده بشكل صحيح. هل هناك طريقة حديثة للقيام بذلك في .NET 6/7/8؟ أو هل يمكنني استخدام أداة أخرى؟ شكراً جزيلاً!