2010-12-03 15 views
3

ich nicht in der Lage bin Code in einer anderen Anwendungsdomäne in LINQPad auszuführen:konnte nicht Datei oder Assembly laden

 

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

ich eine andere Datei erhalten nicht gefunden Ausnahme jedes Mal, wenn ich führen Sie den Code:

Konnte Datei oder Assembly nicht laden 'query_gclnfu, Version = 0.0.0.0, Culture = neutral, PublicKeyToken = null' oder eine seiner Abhängigkeiten.

konnte nicht Datei oder Assembly laden 'query_blixbs, Version = 0.0.0.0, Culture = neutral, PublicKeyToken = null' oder eine ihrer Abhängigkeiten.

ich ahnungslos bin ...

Antwort

4

LINQPad läuft Ihr Code in einer Anwendungsdomäne über die einfache Sandbox API, und dies bedeutet, dass Sie in Berechtigungsprobleme führen werden, wenn Sie eine Domäne erstellen AppDomain.CreateDomain verwenden.

LINQPad bietet eine Hilfsmethode eine App Domäne mit den richtigen Berechtigungen und Montag Auflösung Handler einrichten zu erstellen: ohne Fehler

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

Dies wird ausgeführt, obwohl Sie nicht „Test“ angezeigt werden sehen, in der Ausgabefenster, da die Konsolenausgabe der neuen App-Domäne nicht umgeleitet wird. Folgendes funktioniert jedoch:

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