2012-04-29 3 views
1

私はMonoDevleopとGTK#でプログラムを書いた。 MonoDevelopのを介して、プログラムを実行すると、何の問題も発生していない、しかし私は(Windowsのリリースのx86用のバイナリをパッケージ化を通じて)MDの外でプログラムを実行しようとした場合、私はこの取得:モノラルプロジェクトではCLR20r3 DllNotFoundException;私はどのような依存関係をチェックするのですか?

Problem Event Name: CLR20r3 
Problem Signature 01: areatest.exe 
Problem Signature 02: 1.0.4500.36382 
Problem Signature 03: 4f9b440c 
Problem Signature 04: glib-sharp 
Problem Signature 05: 2.12.0.0 
Problem Signature 06: 4a1c33d2 
Problem Signature 07: 2b8 
Problem Signature 08: 0 
Problem Signature 09: System.DllNotFoundException 
OS Version: 6.1.7601.2.1.0.256.1 
Locale ID: 1033 
Additional Information 1: 0bff 
Additional Information 2: 0bff8d176610735333c3986b545525d3 
Additional Information 3: b571 
Additional Information 4: b571ae7bc62750b34b3b738a0a557539 

を私はCLR20r3をGoogleで検索して非常に少ないことを発見しましたそれを扱う。 Mono関連(MonoDevelop、Gtk for .NET、Mono for Windows、Gtk#、XSPインストーラ)をアンインストールして再インストールしてみましたが、何が起こっているのかを知るための進歩がありました。 Glib-sharpは私のソリューションで参照されています。私は、Visual C#の2010年にソリューションを開くしようとした2つの警告だ:

Warning 2 The referenced component 'Mono.CSharp' could not be found. 
Warning 1 Could not resolve this reference. Could not locate the assembly "Mono.CSharp". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. 

私はMono.CSharpを参照し、それは警告を取り除くしませんでした。私はとにかくプログラムを実行し、例外が私のメインプログラムでスローされました:私はプログラムを公開した場合

class MainClass { 
    public static void Main (string[] args) 
    { 
    Application.Init(); // here 
    MainWindow win = new MainWindow(); 
    win.Show(); 
    Application.Run(); 
    } 
} 

、.exeがまだ同じ問題を抱えていました。

私がしたいことは、プログラムをどのオペレーティングシステムでも実行できるようにすることです。 Windowsの場合、私のユーザーは.NET 4だけでMonoをインストールする必要はないと言われましたが、通常はそれを実行しようとすると上記のクラッシュレポートが表示されます。私のプログラムを実行するための唯一の方法は、コマンドプロンプトで

mono AreaTest.exe 

と呼ぶことです。 Windowsの場合は.NET 4、Mac/Linuxの場合はMonoを使用して自分のコンピュータや他のコンピュータでプログラムを実行するにはどうすればよいですか?

答えて

1

説明:MonoDevelopの外でプログラムを実行するためにGTK+ Runtimeをインストールしなければならないことがわかりました。これにより、Visual C#2010でほとんどエラーなくプロジェクトを開くことができました。

+0

必要ないはずです - GTK#for .NETにはGTK +ランタイムが含まれています。しかし、GTK#がネイティブのGTK +ライブラリを見つけ出す方法のために、他のアプリケーション(例えば、GIMP、Inkscape)がGTK +をシステムPATHにインストールしていると、状況が悪くなる可能性があります。 –

+0

@mhutch私は実際に私の学校のコンピュータにインストールされたGTK#for .NETを試してみました.GIMPとInkscapeがインストールされているので、GTK +ライブラリを台無しにしてしまいました。 – mooles

関連する問題