Сборка, установленная в GAC, не отображается в Visual Studio
Это звучит по этому вопросу, но это не одно и то же. У этого вопроса не было собраний. У меня есть все, кроме той, которую я установил.
Я надеюсь, что у кого-то есть решение для этого... я делаю что-то не так? Или я нашел какую-то ошибку в VS?
Я использую Visual Studio 2010 Professional Beta 2 в Windows 7 Ultimate. Я просто скачал Rhino Mocks и решил установить его в GAC, используя утилиту командной строки GACUTIL. Я тогда перезагрузил.
Здесь вы можете увидеть сборку в моем GAC (нажмите, чтобы увеличить):
А вот список доступных мне сборок в Visual Studio:
Вот командная строка, где я его установил, а затем подтвердил:
C:\Users\jason\Downloads>gacutil -i Rhino.Mocks.dll
Microsoft (R) .NET Global Assembly Cache Utility. Version 4.0.21006.1
Copyright (c) Microsoft Corporation. All rights reserved.
Assembly successfully added to the cache
C:\Users\jason\Downloads>gacutil /l |grep -i rhino
Rhino.Mocks, Version=3.6.0.0, Culture=neutral, PublicKeyToken=0b3305902db7183f, processorArchitecture=MSIL
5 ответов
Visual Studio никогда не перечисляет все элементы в GAC. В нем перечислены только элементы, отмеченные в определенном разделе реестра.
Дополнительную информацию см. В этой статье базы знаний. Как отобразить сборку в диалоговом окне "Добавить ссылку"
Вы всегда можете добавить ссылку на сборку, просмотрев ее на диске.
Я создал совершенно бесплатный инструмент, который поможет вам достичь вашей цели. Muse VSReferences позволят вам добавить ссылку на глобальный кэш сборок в проект из пункта меню Добавить ссылку GAC.
Диалоговое окно "Добавление ссылки на Visual Studio" не зависит от GAC: папки, в которых он ищет сборки, фактически контролируются разделом реестра AssemblyFolders. Не все, что появляется в GAC, появляется в Добавить ссылку (и наоборот, не все в Добавить ссылку находится в GAC).
Чтобы добавить ссылки на библиотеки Rhino Mocks, просто перейдите на вкладку "Обзор", перейдите в каталог, в котором вы установили / разархивировали / собрали файлы "Rhino Mocks", и выберите из них библиотеки DLL.
Принятый ответ не решил эту проблему, инструкции немного изменились в соответствии с инструкциями : Как добавить или удалить ссылки с помощью диалогового окна "Добавить ссылку"
Для 32-разрядной операционной системы добавьте один из следующих разделов реестра.
- [HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \.NETFramework \VersionMinimum\ AssemblyFoldersEx \ MyAssemblies] @ = "AssemblyLocation"
- [HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \.NETFramework \VersionMinimum\ AssemblyFoldersEx \ MyAssemblies] @ = "AssemblyLocation"
Для 64-разрядной операционной системы добавьте один из следующих разделов реестра в куст 32-разрядного реестра.
- [HKEY_CURRENT_USER \ SOFTWARE \ Wow6432Node \ Microsoft \.NETFramework \VersionMinimum\ AssemblyFoldersEx \ MyAssemblies] @ = "AssemblyLocation"
- [HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \.NETFramework \ VersionMinimum\ AssemblyFoldersEx \ MyAssemblies] @ = "AssemblyLocation"
VersionMinimum - самая низкая применимая версия.NET Framework. Если VersionMinimum v3.0, папки, указанные в AssemblyFoldersEx, применяются к проектам, ориентированным на.NET Framework 3.0 и более поздние версии.
AssemblyLocation - это каталог сборок, которые вы хотите отобразить в диалоговом окне Добавить ссылку, например, C:\MyAssemblies.
Создание раздела реестра в узле HKEY_LOCAL_MACHINE позволяет всем пользователям видеть сборки в указанном месте в диалоговом окне Добавить ссылку. Создание раздела реестра в узле HKEY_CURRENT_USER влияет только на настройки для текущего пользователя.
Снова откройте диалоговое окно " Добавить ссылку ". Сборки должны появиться на вкладке .NET. Если это не так, убедитесь, что сборки находятся в указанном каталоге AssemblyLocation, перезапустите Visual Studio и повторите попытку.
Протестировано и работает с Visual Studio 2017 Enterprise на Windows 10
Вы можете установить библиотеки Report Viewer для веб-форм и WinForms из NuGet:
nuget> Install-Package Microsoft.ReportViewer