問題タブ [mkbundle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
6608 参照

c# - 単純な.NetコンソールプロジェクトをMonoとmkbundleを使用してポータブルexeに変換するにはどうすればよいですか?

単純な純粋な.Net2.0コンソールユーティリティを、CLRおよびフレームワークライブラリが特定のマシンにインストールされているかどうかを心配することなく、USBスティックに置いて実行できるポータブルexeに変換したいと思います。

Stackoverflowには、.Netプロジェクトから自己完結型のWindows exeを作成するためのMonoMkbundleの使用に関する情報がすでにいくつかありますが、私が欲しいのはコンパクトで便利なHOWTOです。

単純なC#Visual Studioプロジェクトから移植性を実現するための最小手順は何ですか?

0 投票する
2 に答える
2564 参照

c# - c#cywgwin mono mkbundlewindows7-ファイルをコンパイルできません

次の投稿に従って、cygwinを使用してmonoが埋め込まれたac#アプリを構築しようとしています。

私はここのガイドに従っています:単純な.NetコンソールプロジェクトをMonoとmkbundleでポータブルexeに変換する方法は?

私が受け取っているエラーは次のとおりです。

「gcc:-mno-cygwinフラグが削除されました。mingwをターゲットにしたクロスコンパイラを使用してください。」

これを修正する方法がわかりません-誰かアドバイスできますか?

使用しているもの:Windows 7 x64、Mono 2.4.3、cygwin 7.1ベータ版(Windows 7サポート用)。

ありがとう、

フランク

0 投票する
1 に答える
2089 参照

mono - モノ mkbundle ウィンドウ

cygwin で mono mkbundle を使用してドット ネット アプリをコンパイルしましたが、正常に動作します。ここからの指示を使用しましたc# cywgwin mono mkbundle windows 7 - ファイルをコンパイルできません

次のファイル (mono/bin からコピー) フォルダーがアプリと同じフォルダーにない限り、完成したアプリは実行されません: mono.dll、libglib-2.0-0.dll、libgthread-2.0-0.dll、zlib。 dll

これはすべて問題ないようです-ただし、コマンドを実行すると(cygwinから)

$ objdump -p mycompiledapp.exe | grep "DLL Name"
(「mycompiledapp.exe」はアプリの名前です)

ファイル mono.dll、libglib-2.0-0.dll、libgthread-2.0-0.dll は既にアプリに埋め込まれています。

これらのファイルは、アプリ内に既に埋め込まれているのに、アプリが機能するためにアプリと同じフォルダーにある必要があるのはなぜですか?

コンパイル時に何か間違ったことをしましたか?

次のいずれかの方法はありますか:
a) これらのアセンブリをアプリに埋め込まない (アプリと共に配布できるようにする)
b) アプリをコンパイルして、これらのアセンブリがアプリに埋め込まれていることを認識し、それらを使用しますか? (これらのファイルをアプリで配布する必要はありません)

これらのファイルが既にアプリに埋め込まれている場合、これらのファイルをアプリで配布するのは面倒です! (特にこれらのアセンブリのサイズを考慮すると、50k ドットのネット アプリは、コンパイルされたモノアプリとして約 5 メガになります。これを機能させるには、追加の 4 メガのアセンブリと共に配布する必要があります...e)

情報をありがとう、

鍛冶屋

0 投票する
1 に答える
953 参照

c# - mono 2.0 の mkbundle

私は mono でバンドルを作成するのにかなりの時間を費やしました。私はプログラムをうまく実行できます

しかし、私が言うとき

出力します

そして、実行しようとすると、

1.0 フォルダーから mscorlib.dll をコピーしていることに気付きました。このフォルダにバージョン 2.0 を入れてみたところ、ジェネリック リスト型のロード エラーは解決しましたが、現在、ストップウォッチとセマフォ型のロード エラーが発生しています。

必要なこれらすべてのタイプを含むバンドルを作成するにはどうすればよいですか?

0 投票する
2 に答える
878 参照

f# - Mono AOT / mkbundle はどのように使用され、最適化されていますか? (VM の起動待ち時間を短縮するため)

Mono の AOT (事前コンパイラー) を使用して VM のレイテンシーを削減できるかどうかを確認したいと思います。.so ファイルはどのように実行しますか? (申し訳ありませんが、これは初歩的な質問です。Monoのドキュメントで簡単な答えを見つけることができませんでした)。

mkbundle (この場合は mkbundle2) の使用方法はわかりましたが、結果のファイルは最適化されていますか? Mono AOT のドキュメントには「-O=all,-shared」フラグが記載されていますが、mkbundle ではこれらが表示されません。

おそらくかなり異なる答えですが、VM を開いたままにしておく良い方法がある場合 (fifo 特殊ファイルよりも自然でプラットフォームに依存しないものを使用する)、それが最善かもしれません。

前もって感謝します!

0 投票する
1 に答える
843 参照

.net - mkbundle2 でパッケージ化した後、宛先マシンは libmono.so について不平を言っています。なんで?

mkbundle2 の目的は、mono がインストールされていないマシンで mono アプリケーションを実行できるようにすることだと思いました。しかし、libmono.so をパッケージ化していないようです。想定されているかどうかはわかりませんが、バンドルを実行すると、宛先マシンが libmono.so.0 を見つけることができないと不平を言っています。なぜそのファイルを探すのでしょうか? また、必要な場合、バンドル以外の場所を探しているのはなぜですか? それがバンドルにあるはずなのに、なぜ mkbundle2 はそこに入れなかったのでしょうか? すべての依存関係を含めるために「--deps」オプションを使用しています。何か不足していますか?

--static オプションを追加すると、宛先マシンで次の結果が得られます。

未処理の例外: System.TypeInitializationException: System.Windows.Forms.XplatUI の型初期化子によって例外がスローされました ---> System.DllNotFoundException: libc at (wrapper managed-to-native) System.Windows.Forms.XplatUI:uname (intptr) at System.Windows.Forms.XplatUI..cctor () [0x00000] in :0

export MONO_LOG_LEVEL=debug を使用すると、詳細情報が表示されます。

Mono-INFO: DllImport がロードしようとしています: 'libc'。Mono-INFO: DllImport の読み込み場所: 'libc.so'。Mono-INFO: ライブラリのロード中に DllImport エラーが発生しました: '/usr/lib64/libc.so: 無効な ELF ヘッダー'。Mono-INFO: DllImport 読み込みライブラリ: './libc.so'。Mono-INFO: ライブラリのロード中に DllImport エラーが発生しました './libc.so: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません'。Mono-INFO: DllImport の読み込み中: 'libc'。Mono-INFO: ライブラリのロード中に DllImport エラーが発生しました 'libc: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません'。

これは、互換性のないハードウェアを搭載したマシンで実行しようとしているということですか? どちらのマシンも SUSE Linux Enterprise Server 11 (x86_64) です。

0 投票する
2 に答える
706 参照

c# - mkbundle2 を使用した後、宛先マシンが libmono.0.dylib を見つけられない

OS X に移植したい非常に単純な .NET コマンドライン アプリケーションがあります。
「mono app.exe」で実行できますが
、対象のマシンには mono がインストールされていません。だから、アプリ内にモノをバンドルしたかったのです。

これを行うために、mkbundle2 を使用しました。

これはエラーなしで動作し、出力:

これをビルド マシンで実行できます。ただし、モノのないマシンで実行すると、実行されません。

出力:

私は何が欠けていますか?実際の mono ランタイムを含めるにはどうすればよいですか?

編集: --static フラグも追加してみました。ただし、これによりアプリに別のライセンスが付与されますが、それが必要かどうかはわかりません。その後、libmono についてではなく、libgthread-2.0.0.dylib について不平を言うようになりました。

0 投票する
3 に答える
2024 参照

mono - モノバンドルプログラムを実行しようとしていますが、libgdiplus 例外がありません

現在、C# プログラムを Linux で実行しようとしています。Linux マシンで mono を使用すると、プログラムは正常に動作します。だから私はmkbundleを使用し、それはすべて正しくコンパイルされました。しかし、バンドルされたプログラムを他の Linux マシンで実行しようとすると、次のエラーが発生します。

これは、私が使用した mkbundle コマンドです。

また、mkbundle2 を使用してみましたが、うまくいきませんでした。

mkbundle を使用してライブラリを具体的に含める方法があるのではないかと考えました (libgdiplus の場所を伝えるなど)。mkbundle を使用するときにリンクする必要がありますが、他の Linux マシン (mono を実行していない) でプログラムを実行すると、このエラーが発生するため、そうではないと思います。

どちらのマシンも Ubuntu 10.10 AMD64 を実行しています。

0 投票する
3 に答える
4522 参照

mono - Can not compile simple C# application with mkbundle

I have written some console "Hello world"-like app. and have followed c# cywgwin mono mkbundle windows 7 - cannot compile file answer. But I have got:

It's in Windows XP.