Запрещен доступ к запущенной программе C # с использованием ссылочной библиотеки DLL из общего сетевого ресурса

Я разрабатываю два проекта, которыми управляет ClearCase, что означает, что для Windows похоже, что они расположены в общей сетевой папке.

Первый проект представляет собой DLL, написанную с использованием VS 2003 на управляемом C ++ и предназначенную для обеспечения управляемого интерфейса для некоторых устаревших библиотек DLL, написанных на VS2003 C ++.

Второй проект написан на C # (.NET 3.5, VS2008) и включает в себя DLL, сгенерированную первым проектом, в качестве ссылки для использования унаследованных библиотек DLL через оболочку.

Теперь, когда я пытаюсь запустить проект C #, я получаю следующее сообщение об ошибке:

FileLoadException не было обработано

Не удалось загрузить файл или сборку '(моя управляемая оболочка C ++), Version = (номер версии), Culture = нейтральный, PublicKeyToken = null' или одна из его зависимостей. В доступе отказано.

Если посмотреть на детали, это System.Io.FileLoadException, содержащее внутреннее System.UnauthorizedAccessException («Доступ запрещен. (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED))»

Теперь, когда я копирую проект C # на локальный жесткий диск, все работает нормально, даже если управляемый проект C ++ остается на сетевом диске.

Раньше у меня были проблемы с доступом к сетевым дискам, но они исчезли при обновлении до .NET 3.5 SP1. Я также попытался изменить набор разрешений для группы кода All_Code на «Полное доверие» для .Net Configuration 1.1. и 2.0, как предлагалось в Интернете, но это тоже не помогло. Кстати, я также проверил, доступна ли DLL только для чтения, но это не так.

Заранее благодарю за любую помощь!

Обновление: я также попытался подписать обе сборки строгим именем и предоставить этим ключам полное доверие, но безрезультатно. Должна быть какая-то другая причина, но у меня нет идей.


person Jan    schedule 16.07.2009    source источник


Ответы (1)


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

http://msdn.microsoft.com/en-us/library/930b76w0(VS.71).aspx

Следуйте инструкциям на 1/3 в этой статье (со скриншотами) :-) http://www.15seconds.com/Issue/040121.htm

person Alex    schedule 16.07.2009
comment
Спасибо за Ваш ответ. Однако, как упоминалось в вопросе, я уже пытался настроить политику безопасности, но безуспешно. - person Jan; 17.07.2009