2

昨日、この回答で提案されている手順に従って、Linux Mint 13 セットアップに MonoDevelop 3.0 をインストールしました。ただし、提供されたタイプのいずれかの新しいソリューションを作成しようとすると、次のエラーが発生します。

An error has occurred.

A type load exception has occurred.

System.TypeLoadException: A type load exception has occurred.
  at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&)
  at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000] in <filename unknown>:0 

このエラーの意味と修正方法を教えてください。ありがとう。

4

1 に答える 1

3

私の開発マシンの 1 つは、Windows 7 と Ubuntu 12.04 のデュアル ブートに設定されています。Ubuntu には Monodevelop 2.8 しかインストールされていないため、参照した回答 (askubuntu から) の手順に従うと思いました。

コマンドを実行すると、PPA には常に Monodevelop の最新の不安定なsudo apt-add-repository ppa:directhex/ppaソースが含まれている可能性があるという大きな警告メッセージが表示され、代わりにBadgerports.orgの PPA を使用することが推奨されました。Badgerports は、テスト済みの安定したソースのみを使用します。この記事の執筆時点では、Monodevelop バージョンがあります。3.0.3.2+dfsg-1~dhx1~precise1

Ctrl+Cそのため、コマンドをキャンセルするためにヒットしapt-add-repository、代わりにこれらの指示に従って Badgerports PPA をセットアップしました。その後、コマンドを実行してローカル パッケージ データベースを更新し、Monodevelop をインストールしました。

sudo apt-get update
sudo apt-get install monodevelop

monodevelop をインストールすると、それを起動して新しい C# サンプル プロジェクトを問題なく作成/ビルド/デバッグすることができました。

F# アドインをインストールするには、最上位メニューの 1 つ (「ツール」だと思います) の下にある「アドイン」オプションを見つけ、ツリーの「言語バインディング」ノードを展開し、F# 言語バインディングを選択しました。そして「インストール」をクリック。その時点で、新しい F# プロジェクトを問題なく作成/ビルド/デバッグすることができました。

警告: Windows/VS2010 から既存の F# プロジェクトをコピーし、それをビルド/デバッグしようとしました。あなたと同様のエラーが発生した後、Monodevelop がひどくクラッシュしましkillた (プロセスが必要でした)。

Badgerports からインストールした後で Monodevelop を動作させることができない場合は、Mono と Monodevelop の両方の開発者に連絡して調査してもらう必要があります。この例外メッセージから、Mono のバグである可能性があると思いますが、それを引き起こしているMonodevelopのバグ。

于 2012-08-29T15:21:04.213 に答える