Почему я не могу добавить свою DLL в GAC в Windows 7?

Возможный дубликат:
Как добавить dll в gac в перспективе

Я сменил свою ОС на Windows 7 с Windows XP. Я пытаюсь поместить DLL в папку сборки Windows 7, но не могу. Я получаю предупреждение об ошибке "Доступ запрещен".

Пожалуйста, дайте мне знать, как перетащить DLL в сборку Windows 7.


person RHM    schedule 28.02.2011    source источник
comment
Вы не должны перетаскивать библиотеки DLL в глобальный кэш сборок (GAC). Что ты пытаешься сделать?   -  person Cody Gray    schedule 28.02.2011
comment
возможный дубликат Как добавить dll в gac в перспективе . Как указано в ответах на этот вопрос, вам понадобится Gacutil.exe. для этого или, желательно, установочную программу.   -  person Cody Gray    schedule 28.02.2011
comment
Как предлагали все остальные, используйте GacUtil.   -  person Pradeep    schedule 28.02.2011
comment
Это распространенная проблема, с которой сталкиваются многие разработчики (ее не обязательно исправить отключением UAC). Это также главный хит Google по этой проблеме. Меня действительно тошнит от людей, закрывающих все вопросы, которые они лично не считают полезными на этом сайте. Ответ перспективы, связанный как дубликат, не работает в этом случае.   -  person Kelly Gendron    schedule 02.11.2015


Ответы (1)


Вы пробовали запустить проводник Windows от имени администратора?

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

Если это не сработает, я предлагаю вам использовать gacutil.exe. Вы также должны открыть командную строку как администратор, тогда:

  1. В меню «Пуск» найдите ссылку на командную строку установки Visual Studio. Если это не ваша машина для разработки, вам понадобится SDK или просто скопируйте gacutil.exe.
  2. Щелкните правой кнопкой мыши ярлык командной строки и выберите «Запуск от имени администратора».
  3. В командной строке введите gacutil / i «путь_сборки». Или введите gacutil /? для объяснения, как его использовать.
person mono68    schedule 28.02.2011
comment
@Cody Gray: в Windows XP вы можете использовать проводник, чтобы просто перетащить сборку в папку% WINDIR% \ assembly. Я всегда так делаю, потому что он отлично работает и намного проще, чем использование gacutil.exe. - person mono68; 28.02.2011
comment
Даже если бы вы могли это сделать, вы не должны этого делать. Ни в Windows XP, ни в Windows 7. Прочтите документацию; вы заметите, что он не ничего говорит о перетаскивании. Тот факт, что вы можете что-то делать, не означает, что вы должны. - person Cody Gray; 28.02.2011
comment
Скажите, пожалуйста, как запустить проводник Windows от имени администратора, я вошел в систему как администратор, это работает? - person RHM; 28.02.2011
comment
@RHM: Это предложение - ерунда. Используйте подходящие инструменты для той работы, которую вы пытаетесь выполнить. См. Комментарии к вашему вопросу. - person Cody Gray; 28.02.2011
comment
@Cody - если эта страница не была обновлена ​​после того, как вы разместили свой комментарий, в ней упоминается перетаскивание для установки - в выделенной заметке обсуждается Shfusion.dll и то, как он устарел для .Net framework 4 (хотя, вероятно, все еще действителен для более низких версий) - person Damien_The_Unbeliever; 28.02.2011
comment
@Damien: Хорошо, достаточно честно. Он действительно говорит об этом что-то. Но также говорится, что это устарело. Я бы назвал это победой по техническим причинам, не так ли? ;-) Более того, в ответе ничего не говорится об использовании shfusion.dll, просто говорится, что вы должны запускать Explorer как процесс с повышенными правами. Это неправильное решение. - person Cody Gray; 28.02.2011
comment
Хорошо, вместо того, чтобы спорить о том, правильное ли это решение, я только что отредактировал свой пост, чтобы предоставить что-то, что, вероятно, могло бы считаться правильным решением, но, надеюсь, больше всего поможет RHM. - person mono68; 28.02.2011