У меня есть код для загрузки исполняемого файла и показ его CIL-кода пользователю. Для этого я использую Mono.Cecil и Mono.Cecil.Cil.
Теперь я хочу сделать что-то другое: я хочу знать, есть ли у пользователя Mono.Cecil и Mono.Cecil.Cil в его системе. для этого я подумал использовать Reflection.Assembly.Load с Mono.Cecil и Mono.Cecil.Cil. Что-то типа:
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 без поиска пути (чтобы сделать единственный exe-файл, который будет использоваться под Windows или GNU/Linux с моно)?
Примечание. Я работаю под Linux Mint с MonoDevelop 2.6 или под Windows 7 с MonoDevelop 2.8.