Créer une nouvelle appdomain, la configuration du gestionnaire AssemblyResolve et vous obtenez toujours une exception disant « assemblage [courant qui exécute l'assemblage] non trouvé »Exception mise en place de gestionnaire pour AppDomain.AssemblyResolve
ce qui donne? le code est ci-dessous
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;
}
exception:
System.IO.FileNotFoundException: Impossible de charger le fichier ou l'assembly 'appAdmin, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = null' ou un de ses dépendances. Le système ne peut pas trouver le fichier spécifié. Nom du fichier: 'appAdmin, Version = 1.0.0.0, Culture = neutre, PublicKeyToken = null' [snip]
Ce n'est pas vraiment une question cohérente. vous ne montrez pas le contenu de sandBox_AssemblyResolve pour un début. Maintenant, ce que vous croyez le résultat devrait être, ni le statcktrace – ShuggyCoUk
est-il plus clair maintenant? l'erreur est mise en place le gestionnaire d'événements => Assembly.AssemblyResolve + = new .... le reste n'a même pas la chance d'exécuter !! C'est pourquoi je ne l'ai pas copié plus tôt! – Kumar