Erstellen Sie ein neues Appdomain, Setup der AssemblyResolve Handler und Sie immer eine Ausnahme erhalten sagen ‚assembly [aktuelle Assembly Ausführen] nicht gefunden‘Ausnahme Einrichtung Handler für AppDomain.AssemblyResolve
was ist passiert? Code ist unter
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;
}
Ausnahme ist:
System.IO.FileNotFoundException: Die Datei oder Assembly laden 'AppAdmin, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null' oder eines ihrer Abhängigkeiten. Die angegebene Datei wurde vom System nicht gefunden. Dateiname: 'appAdmin, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null' [snip]
Das ist nicht wirklich eine zusammenhängende Frage sehen. Sie zeigen nicht den Inhalt von sandBox_AssemblyResolve für einen Start. Nun, was Sie glauben, das tatsächliche Ergebnis sollte, noch die volle statcktrace – ShuggyCoUk
ist es jetzt klarer? der Fehler ist die Einrichtung der Event-Handler => Assembly.AssemblyResolve + = neu .... der Rest bekommt nicht einmal eine Chance zur Ausführung !! deshalb habe ich es vorher nicht kopiert! – Kumar