Вопрос

Когда я перетаскиваю библиотеку dll в папку сборки в Vista, я получаю сообщение об ошибке "Доступ запрещен:mydll.dll ".Как я могу обойти сообщение об ошибке и добавить свою библиотеку dll в gac?

Это было полезно?

Решение

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

Другие советы

Использование runas команда для запуска гакутил как пользователь с правами локального администратора зарегистрируйте библиотеку DLL в GAC.

Возможно, вы не найдете gacutil.exe в своей папке Windows при использовании Vista.Это не включено из-за "Программы с логотипом vista и бла-бла-бла".Попробуйте использовать установщик Windows для добавления ваших сборок в gac.Это рекомендуемый способ.

И никогда не забывайте эту традиционную огрскую пословицу:"Bi siktir git cay koy".

Вы можете сделать это с помощью gacutil.exe.Он расположен в:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

Однако он есть только в том случае, если вы установили .NET SDK (а не только распространяемый .Net).Но вы можете скопировать его со своего компьютера разработчика.

Сборка (dll) также должна иметь строгое имя, если она будет находиться в GAC.

http://msdn.microsoft.com/en-us/library/wd40t7ad (ПРОТИВ 80).aspx

Используя командную строку, выполните следующие действия:

Откройте командную строку Visual Studio

Сначала откройте командную строку Visual Studio (для Visual Studio 2008 путь таков: Программы -> Visual Studio 2008 -> Инструменты Visual Studio -> Командная строка Visual Studio 2008 ) Все файлы, упомянутые в следующих шагах, будут созданы по пути к командной строке Visual Studio 2008.В моем случае это C:\Program Files\Microsoft Visual Studio 9.0\VC

  1. Сгенерировать файл ключей sn -k keyPair.snk
  2. Получите MSIL для сборки ildasm SomeAssembly.dll /out:SomeAssembly.il
  3. Переименуйте исходную сборку, на всякий случай переименуйте SomeAssembly.dll SomeAssembly.dll.orig
  4. Создайте новую сборку из выходных данных MSIL и вашего ключевого файла ilasm SomeAssembly.il /dll /key=keyPair.snk
  5. Установите библиотеку DLL в GAC gacutil -i SomeAssembly.dll
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top