Mono Mkbundle أداة غير قادر على إنشاء ثنائي مع شكوى أن ملف الإخراج غير متاح
-
05-09-2019 - |
سؤال
حسب الاقتراحات من هذا الموضوع على تشغيل C # Apps Sans .NET لقد قمت بتجميع تطبيقي باستخدام Mono. قمت ببناء التطبيق الأصلي باستخدام أحدث إصدار Visual C # .NET Express. يعمل بشكل جيد على .NET على Windows. ثم فتحت Cygwin والتنقل إلى مصدري حيث قمت بتجميع المشروع مرة أخرى، تحت أحادي باستخدام الأمر التالي:
$ mcs <myProjectHere>.cs
هذا ينتج MyProject.exe، والتي يمكن تشغيلها من داخل Cygwin بنجاح، ويمكن تشغيلها من سطر أوامر النافذة بنجاح. الأوامر المستخدمة هي:
$ mono MyProject.exe
C:\...>mono MyProject.exe
وفقط الركلات، ببساطة:
C:\...>MyProject.exe
كل العمل كما هو متوقع. ثم حاولت بناء Mono Compated Cleanceable في ثنائي مرتبط ثابت باستخدام أمر mkbundle كما يلي:
$ mkbundle -o MyProject MyProject.exe --deps
هذا هو المكان الذي تبدأ فيه الأمور في الذهاب إلى الهبوط. يبدأ تشغيله جيدا بما فيه الكفاية، ثم يشكو من أن ملف الإخراج (يفترض، myproject.exe) لا يمكن فتحه لأنه مشغول. الإنتاج الكامل لكل شيء هنا:
$ mkbundle -o program program.exe --deps os هو: مصادر Windows: 1 التبعيات التلقائية: تضمين حقيقي: C: المستندات والإعدادات Bsweeney My Documents Visual Studio 2008 Projects TestConsole TestConsole Programe.exe تضمين: C: PROGRA ~ 1 Mono-2.2 Lib Mono 2.0 mscorlib.dll -Config - cflags - libs mono | dos2 unix` temp.o /usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32 / bin / LD: لا يمكن op en program file.exe: جهاز أو موارد مشغول Collect2: LD المرتجعة 1 حالة الخروج [فشل
أدعي أن مجموعة أدوات يونيكس الخليجية مثبتة وفي حالة جيدة لأنني تمكنت من ترجمة عدد قليل من تطبيقات C ++ في الكسوف باستخدامها مؤخرا (على الرغم من أنني يجب أن أكون مفتوحا لأي عدد من المشاكل ...).
أي شخص يركض أي شيء مثل هذا؟ أنا لاذع ...
المحلول
يبدو أنه يحاول الإخراج MyProject.exe
, ، وهو نفس ملف الإدخال.
حاول الجري
$ mkbundle -o ProgramOutput Program.exe --deps
هذا مجرد تخمين، بالمناسبة، لأنني لا أعرف mkbundle
.