无法加载文件或程序集
我无法在 Linqpad 中的另一个应用程序域中执行代码:
void Main()
{
AppDomain.CreateDomain("AD").DoCallBack(() => { Console.WriteLine("Test"); });
}
每次执行代码时都会收到不同的文件未找到异常:
无法加载文件或程序集'query_gclnfu,版本=0.0.0.0、Culture=neutral、PublicKeyToken=null' 或其依赖项之一。
无法加载文件或程序集“query_blixbs,Version=0.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。
我一无所知...
I'm not able to execute code in another application domain in Linqpad:
void Main()
{
AppDomain.CreateDomain("AD").DoCallBack(() => { Console.WriteLine("Test"); });
}
I get a different file not found exception each time I execute the code:
Could not load file or assembly 'query_gclnfu, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
Could not load file or assembly 'query_blixbs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies.
I'm clueless...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
LINQPad 通过简单的沙箱 API 在应用程序域中运行您的代码,这意味着如果您使用 AppDomain.CreateDomain 创建域,您将遇到权限问题。
LINQPad 提供了一个帮助程序方法来创建具有正确权限和程序集解析处理程序设置的应用程序域:
这将运行而不会出现错误,尽管您不会在输出窗口中看到“测试”,因为新的应用程序域不会有它的控制台输出被重定向。不过,以下内容将起作用:
LINQPad runs your code in an app domain via the simple sandboxing API, and this means that you'll run into permission issues if you create a domain using AppDomain.CreateDomain.
LINQPad offers a helper method to create an app domain with the right permissions and assembly resolution handlers set up:
This will run without error, although you won't see "Test" appear in the output window because the new app domain won't have its console output redirected. The following will work, though: