2010-12-03 20 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"); }); 

Это будет работать без ошибок, хотя вы не увидите «Test» появится в вывода, потому что новый домен приложения не будет перенаправлен на консольный вывод. При этом будут работать следующие:

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