Mono Mkbundle أداة غير قادر على إنشاء ثنائي مع شكوى أن ملف الإخراج غير متاح

StackOverflow https://stackoverflow.com/questions/558707

سؤال

حسب الاقتراحات من هذا الموضوع على تشغيل 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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top