web-dev-qa-db-ja.com

Monoで.netアプリを実行できません-mscorlib.dllが見つかりません(バージョンの不一致?)

.net 3.5SP1を使用して、Windowsで作成およびコンパイルされた簡単な.netコマンドラインツールがあります。 Monoを使用してLinuxで実行したいと思います。

Ubuntu 12.04を使用しており、Ubuntuソフトウェアセンターを使用してMono Runtimeをインストールしました。ターミナルでアプリを起動しようとすると:

_mono MyApp.exe
_

エラーが表示されます:

アセンブリmscorlib.dllが見つからないか、ロードできませんでした。 「usr/lib/mono/2.0/mscorlib.dll」にインストールされているはずです。

その場所に移動すると、存在しないことがわかります。ただし、_usr/lib/mono/4.0/mscorlib.dll_(および同じフォルダーにさらにいくつかのDLL)があります。

そのため、バージョンの不一致があるようです。

[重要な場合、_mono -V_はMono JIT compiler version 2.10.8.1 (Debia 2.10.8.1-1ubuntu2)を示します]

67
Warpin

モノコンプリートをインストールすることで動作するようになりました:

Sudo apt-get install mono-complete

その後、usr/lib/monoの下にフォルダー2.0、3.5、4.0などがありました。

92
Warpin

単に実行したい場合は、Sudo apt-get install libmono2.0-cil libmono-system-net2.0-cil mono-runtimeで十分です。

28
gfxmonk

私のディストリビューション(ubuntu 12. 32 Bit)でも同じ問題が発生しました。モノコンプリートは利用できません。だから私は次のパッケージをインストールしたばかりで、最も重要なdllを持つモノが利用可能になりました:

Sudo apt-get install mono-dmcs
Sudo apt-get install mono-gmcs
Sudo apt-get install mono-devel
4
Thomas Haller

探しているパッケージは「monomono-system.data2.0-cil」で、Mono-completeとともにインストールされます

1
Komak57

Sudo apt-get purge mono-* その後 Sudo apt-get install mono-complete。これにより、/ usr/lib/monoにファイルが作成されましたが、/ usr/local/lib/monoに存在しないファイルを検索しようとすると、エラーが引き続き生成されました。

MONO_PATHを正しい場所に変更しようとしましたが、機能しませんでした。最終的にディレクトリ全体を/ usr/local/libにコピーして、最終的に機能させました。

1
Himeshi