.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)
を示します]
モノコンプリートをインストールすることで動作するようになりました:
Sudo apt-get install mono-complete
その後、usr/lib/monoの下にフォルダー2.0、3.5、4.0などがありました。
単に実行したい場合は、Sudo apt-get install libmono2.0-cil libmono-system-net2.0-cil mono-runtime
で十分です。
私のディストリビューション(ubuntu 12. 32 Bit)でも同じ問題が発生しました。モノコンプリートは利用できません。だから私は次のパッケージをインストールしたばかりで、最も重要なdllを持つモノが利用可能になりました:
Sudo apt-get install mono-dmcs
Sudo apt-get install mono-gmcs
Sudo apt-get install mono-devel
探しているパッケージは「monomono-system.data2.0-cil」で、Mono-completeとともにインストールされます
Sudo apt-get purge mono-*
その後 Sudo apt-get install mono-complete
。これにより、/ usr/lib/monoにファイルが作成されましたが、/ usr/local/lib/monoに存在しないファイルを検索しようとすると、エラーが引き続き生成されました。
MONO_PATHを正しい場所に変更しようとしましたが、機能しませんでした。最終的にディレクトリ全体を/ usr/local/libにコピーして、最終的に機能させました。