私はexeファイルを読み込むコードをいくつか持っており、そのCILコードをユーザーに示しています。これを行うには、私はMono.CecilとMono.Cecil.Cilを使用します。Mono.CecilとMono.Cecil.Cilを確認する
今私は別の何かをしたいと思っています。ユーザーがMono.CecilとMono.Cecil.Cilを自分のシステムに持っているかどうかを知りたいのですが。これを行うには、Mono.CecilとMono.Cecil.CilでReflection.Assembly.Loadを使用すると考えました。ような何か:
public void PrintInstr() {
try
{
Reflect.Assembly mc = Reflect.Assembly.Load("Mono.Cecil");
Reflect.Assembly mcc = Reflect.Assembly.Load("Mono.Cecil.Cil");
}
catch(Exception)
{
System.Console.WriteLine("\"Mono.Cecil\" or \"Mono.Cecil.Cil\" not found ");
return;
}
//[...]
}
しかし、私は唯一の次のエラーを取得する:
Could not load file or assembly 'Mono.Cecil' or one of its dependencies.
The system cannot find the file specified.
そして、もちろん、私はMono.CecilとMono.Cecil.Cilを持っています。 Assembly.Loadを正しく使用していませんか?その場合、Assembly.Loadを使用してパスを探すことなくMono.CecilとMono.Cecil.Cilをロードする方法を教えてもらえますか(WindowsまたはGNU/Linuxで唯一のexeファイルを使用するようにしますモノと一緒に)?
ノート:私はMonoDevelop 2.6でLinux Mint、MonoDevelop 2.8でWindows 7で作業しています。
Cecilがグローバルアセンブリキャッシュに含まれているかどうか確認したいのですか? – svick