Разрешение Assembly.LoadFrom () в .NET 4.0 - PullRequest
4 голосов
/ 04 мая 2010

У меня проблемы с безопасностью при переносе приложения с .NET 3.5 на 4.0.

У меня есть приложение, которое успешно запускается с сетевого ресурса, который я сопоставил с z: - Z: \ MyApp \ App.exe.

Это приложение использует надстройки, и иногда его просят загрузить сборки из отдельного местоположения в интрасети - y: \ MyLib \ Lib.dll

В .NET 4.0 я получаю исключение System.Security.Security, тогда это происходит:

System.IO.FileLoadException: Не удалось загрузить файл или сборку 'XXXX' или одну из ее зависимостей. Произошла ошибка, связанная с безопасностью. (Исключение из HRESULT: 0x8013150A) ---> System.Security.SecurityException: сбой запроса разрешения типа 'System.Security.Permissions.FileIOPermission, mscorlib, Version = 4.0.0.0, Culture = нейтральный, PublicKeyToken = b77a5c561934e089'

Однако, если я запускаю свое приложение локально из C: \ MyApp \ App.exe, оно может успешно загрузить с Assembly.LoadFrom () надстройку в y: \ MyLib \ Lib.dll.

Что мне нужно сделать, чтобы «благословить» расположение y: \ MyLib, чтобы приложения, работающие с сетевых ресурсов, могли выполнять оттуда код?

Спасибо, Dave

1 Ответ

0 голосов
/ 20 июля 2010

У меня была похожая проблема, я смог ее решить, как описано в моем вопросе Structuremap не загружает реестры при запуске с сетевого диска . Я надеюсь, что это решит и вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...