Создайте новый домен приложения, настройте обработчик AssemblyResolve и
вы всегда получаете исключение, говорящее «сборка [текущая исполняющая сборка] не найдена»
что дает? код ниже
string _fileName = @"c:\temp\abc123.dll";
AppDomain sandBox = AppDomain.CreateDomain("sandbox");
sandBox.AssemblyResolve += new ResolveEventHandler(sandBox_AssemblyResolve);
// the line generates the exception !
System.Reflection.Assembly asm = sandBox.Load(System.Reflection.AssemblyName
.GetAssemblyName(fileName).FullName);
foreach (System.Reflection.AssemblyName ar in asm.GetReferencedAssemblies())
dbgWrite("Ref: " + ar.FullName );
System.Reflection.Assembly sandBox_AssemblyResolve
(object sender, ResolveEventArgs e)
{
System.Reflection.Assembly asm =
System.Reflection.Assembly.LoadFrom(_fileName);
return asm;
}
Исключение составляет:
System.IO.FileNotFoundException: не удалось загрузить файл или сборку 'appAdmin, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = null' или одна из ее зависимостей Система не может найти указанный файл. Имя файла: 'appAdmin, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = null' [снип]