Сборка, установленная в 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
Другие вопросы по тегам