У меня есть блок Interop, лежащий в GAC; Windows Explorer ясно показывает, что перечислил в C:\WINDOWS\assembly
папка. Все же, когда я пытаюсь добавить ссылку на него в из Visual Studio, я не вижу его нигде в Добавить Ссылочном диалоговом окне.
Если это происходится с Вами также, какова причина этого? И как я фиксирую это?
(Блок на самом деле расположен в C:\WINDOWS\assembly\GAC_MSIL
папка, если необходимо знать.)
Как отмечали другие, простая установка сборки в GAC не гарантирует, что она появится в диалоговом окне «Добавить ссылку». Я нашел эту страницу MSDN, на которой есть подробности. См. Раздел Отображение сборки в диалоговом окне Добавить ссылку .
"C:\WINDOWS\assembly" - это специальная папка, в которой в Проводнике Windows будут перечислены сборки (и информация о сборке) внутри различных подпапок.
Для вашего случая может понадобиться указать на физический путь "C:\Windows\assembly\GAC_MSIL.....dll" внутри VS.NET.
.Добавьте один из следующих ключей реестра, где находится каталог для поиска, а MyAssemblies - категория ваших сборок. Обратите внимание, что HKCU предназначен для текущего пользователя, а HKLM - для всех на одном компьютере.
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework\<version>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\<version>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"
Используйте эту команду в командной строке Visual Studio
regsvr32 / u shfusion.dll
Я создал инструмент, который поможет вам достичь вашей цели. Muse VSReferences позволит вам добавить ссылку на глобальный кэш сборок в проект из пункта меню «Добавить ссылку GAC».