Не удалось загрузить файл или сборку - PullRequest
4 голосов
/ 03 декабря 2010

Я не могу выполнить код в другом домене приложения в Linqpad:


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

Я получаю другой файл Исключение не найдено каждый раз, когда я выполняю код:

Не удалось загрузить файл или сборку 'query_gclnfu, версия = 0.0.0.0, Culture = нейтральный, PublicKeyToken = null' или одна из его зависимостей.

Не удалось загрузить файл или сборку 'query_blixbs, версия = 0.0.0.0, Culture = нейтральный, PublicKeyToken = null' или одна из его зависимостей.

I'mневежественны ...

1 Ответ

5 голосов
/ 03 декабря 2010

LINQPad запускает ваш код в домене приложения через простой API песочницы, и это означает, что у вас возникнут проблемы с разрешениями, если вы создадите домен с помощью AppDomain.CreateDomain.

LINQPad предлагает вспомогательный метод для создания домена приложения с правильными разрешениями и настройками обработчиков разрешения сборки:

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

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

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