出力ファイルが利用できないという苦情でバイナリを作成することができませんモノラルmkbundleツール

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

質問

の上でこのスレッドからの提案を1としてC#]を実行すると、サンセリフ、私はモノを使用して私のアプリをコンパイルした.NETアプリ。私は、最新のVisual C#の.NET Express Editionを使用して、元のアプリを構築しました。これは、Windows上の.NETでの細かい動作します。私は、次のコマンドを使用して、モノの下で、Cygwinを開いて、私は再びプロジェクトをコンパイルし、私の元に移動します:

$ mcs <myProjectHere>.cs

これが成功してCygwinの内から実行することができ、かつ成功裏にウィンドウのコマンドラインから実行することができMyProject.exeを生産しています。使用するコマンドは次のとおりです:

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

とちょうど蹴りのため、単純ます:

C:\...>MyProject.exe

期待通りにすべての作業。私は、次のようにmkbundleコマンドを使用して、静的にリンクされたバイナリに実行可能ファイルにコンパイルモノを構築しようとした。

$ mkbundle -o MyProject MyProject.exe --deps
物事が下り坂に行き始める。ここで、

このです。それは十分にオフに開始し、それがビジー状態であるため、出力ファイル(おそらく、MyProject.exe)を開くことができないと文句を言い。それはすべてのフル出力はここにあります:

    $ 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]

私はUnixのGCCツールチェーンがインストールされていることを主張し、私は問題の任意の数にオープンであるべきはずが、良好な状態で、私は(成功し、最近、それを使って日食のいくつかのC ++アプリケーションをコンパイルすることができましたので... )。

誰もが今までにこのようなことに遭遇しますか?私は困惑して...

役に立ちましたか?

解決

それは、入力ファイルと同じであるMyProject.exeへの出力にしようとしているように、

に思えます。

タグ実行してみてください
$ mkbundle -o ProgramOutput Program.exe --deps

これはただの推測では、私がmkbundleを知らないので、やり方によって、である。

scroll top