Avatar ·

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

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