2010-12-03 11 views
3

Je ne suis pas en mesure d'exécuter du code dans un autre domaine d'application dans LINQPad:Impossible de charger le fichier ou l'assemblage

 

void Main() 
{ 
AppDomain.CreateDomain("AD").DoCallBack(() => { Console.WriteLine("Test"); }); 
} 
 

Je reçois un fichier différent pas trouvé d'exception chaque fois que j'exécute le code:

Impossible de charger le fichier ou l'assemblage 'query_gclnfu, Version = 0.0.0.0, Culture = neutre, PublicKeyToken = null' ou l'une de ses dépendances.

Impossible de charger le fichier ou l'assemblage 'query_blixbs, Version = 0.0.0.0, Culture = neutre, PublicKeyToken = null' ou l'une de ses dépendances.

Je suis paumé ...

Répondre

4

LINQPad exécute votre code dans un domaine d'application via l'API simple sandbox, et cela signifie que vous allez rencontrer des problèmes d'autorisation si vous créez un domaine à l'aide AppDomain.CreateDomain.

LINQPad offre une méthode d'aide pour créer un domaine d'application avec les permissions et les gestionnaires de résolution de montage mis en place:

Util.CreateAppDomain ("AD").DoCallBack(() => { Console.WriteLine("Test"); }); 

Cela fonctionnera sans erreur, bien que vous ne verrez pas « Test » apparaît dans la fenêtre de sortie car le nouveau domaine de l'application n'aura pas sa sortie de console redirigée. Ce qui suit fonctionnera, cependant:

Util.CreateAppDomain ("AD").DoCallBack(() => MessageBox.Show ("test"));