www update para for downloads c# compiler-construction mono linker mkbundle

c# - update - La herramienta Mono mkbundle no puede crear archivos binarios con la queja de que el archivo de salida no está disponible



update mono (1)

Parece que está intentando producir en MyProject.exe , que es lo mismo que el archivo de entrada.

Prueba correr

$ mkbundle -o ProgramOutput Program.exe --deps

Esto es sólo una suposición, por cierto, ya que no sé mkbundle .

Según las sugerencias de este hilo sobre la ejecución de aplicaciones C # sans .NET, he compilado mi aplicación utilizando mono. Creé la aplicación original usando la última versión Express de Visual C # .NET. Funciona bien en .NET en Windows. Luego abrí Cygwin y navegué a mi fuente donde compilé el proyecto nuevamente, bajo mono usando el siguiente comando:

$ mcs <myProjectHere>.cs

Esto produce MyProject.exe, que se puede ejecutar desde Cygwin con éxito y se puede ejecutar desde la línea de comandos de la ventana con éxito. Los comandos utilizados son:

$ mono MyProject.exe C:/...>mono MyProject.exe

y solo por patadas, simplemente:

C:/...>MyProject.exe

Todo funciona como se espera Luego traté de compilar el ejecutable mono compilado en un binario estáticamente vinculado utilizando el comando mkbundle de la siguiente manera:

$ mkbundle -o MyProject MyProject.exe --deps

Aquí es donde las cosas comienzan a ir cuesta abajo. Empieza lo suficientemente bien y luego se queja de que el archivo de salida (presumiblemente, MyProject.exe) no se puede abrir porque está ocupado. La salida completa de todo está aquí:

$ mkbundle -o Program Program.exe --deps OS is: Windows Sources: 1 Auto-dependencies: True embedding: c:/Documents and Settings/bsweeney/My Documents/Visual Studio 2008 /Projects/TestConsole/TestConsole/Program.exe embedding: C:/PROGRA~1/Mono-2.2/lib/mono/2.0/mscorlib.dll Compiling: as -o temp.o temp.s gcc -mno-cygwin -g -o Program -Wall temp.c `pkg-config --cflags --libs mono|dos2 unix` temp.o /usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/bin/ld: cannot op en output file Program.exe: Device or resource busy collect2: ld returned 1 exit status [Fail]

Afirmo que mi toolchain gix de unix está instalado y en buenas condiciones porque he podido compilar con éxito algunas aplicaciones de c ++ en eclipse usando recientemente (aunque supongo que debería estar abierto a cualquier cantidad de problemas ...).

¿Alguien alguna vez se encuentra con algo como esto? Estoy perplejo...