2010-12-03 105 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")); 
相关问题