Вот и недавно при разработке очередного ASP.NET приложения я наткнулся на интересную ситуацию:
при добавлении новой сборки элементов управления в панель, возникала ошибка связанная с правами выполнения кода в среде .NET.
Ошибка была следующего содержания:
Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
В моем случае я добавлял AjaxControlToolkit.dll.
В чем может заключаться ошибка:
1. Если вы пытаетесь добавить сборку с удаленного ресурса в сети, т.е. если параметры безопасности .NET среды не настроены на доверие к данной директории, будет вылетать данная ошибка при добавлении сборки.
2. Если сборка которую вы добавляете является строго типизированной.
Как решается проблема:
В случае 1:
- Следует дать права удаленной директории с помощью утилиты caspol.exe: [Drive]:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\caspol.exe -m -ag 1 -url "file:////\\[Имя Компьютера]\[ИмяОбщейПапки]\*" FullTrust -exclusive on
- Можно не напрягаясь скопировать нужную сборку к себе на компьютер и подключить ее с локального компьютера без нервотрепки.
В случае 2:
Следует добавить данную сборку в Global Assembly Cache c помощью утилиты gacutil.exe:
- Открываете Visual Studio Command Prompt
- Вводите туда gacutil /i [Полный путь до сборки]
- Наслаждаетесь
1 комментарий:
Отправить комментарий