2010-12-03 156 views
3

我不能在其他應用領域中Linqpad執行代碼:無法加載文件或程序集

 

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

我得到一個不同的找不到文件每一次例外我執行的代碼:

無法加載文件或程序集'query_gclnfu,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = null'或其某個依賴關係。

無法加載文件或程序集'query_blixbs,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = null'或它的某個依賴關係。

我無言以對......

回答

4

LINQPad運行在通過簡單的沙盒API的應用程序域代碼,這意味着,如果您使用AppDomain.CreateDomain域,你會碰到權限問題。

LINQPad提供了一個輔助方法來創建具有正確的權限和程序集解析處理程序建立一個應用程序域:

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

這將運行沒有錯誤,但你不會看到「測試」出現在輸出窗口,因爲新的應用程序域不會將其控制檯輸出重定向。下面的工作,雖然:

Util.CreateAppDomain ("AD").DoCallBack(() => MessageBox.Show ("test")); 
相關問題