Подтвердить что ты не робот

Сборка, установленная в GAC, не отображается в Visual Studio

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

Я надеюсь, что у кого-то есть решение этого... Я что-то делаю неправильно? Или я нашел ошибку в VS?

Я использую Visual Studio 2010 Professional Beta 2 в Windows 7 Ultimate. Я просто скачал Rhino Mocks и решил установить его в GAC с помощью утилиты командной строки GACUTIL. Затем я перезагрузился.

Здесь вы можете увидеть сборку в моем GAC (нажмите, чтобы увеличить):

alt text

И вот список доступных мне сборок в Visual Studio:

alt text

Вот командная строка, где я ее установил, а затем подтвердил:

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
4b9b3361

Ответ 1

Visual Studio никогда не перечисляет все элементы в GAC. В нем перечисляются только те элементы, которые указаны в определенном разделе реестра.

Пожалуйста, ознакомьтесь с этой статьей базы знаний для получения дополнительной информации: Как отобразить сборку в диалоговом окне "Добавить ссылку"

Вы всегда можете добавить ссылку на сборку, просмотрев ее на диске.

Ответ 2

Я создал совершенно бесплатный инструмент, который поможет вам достичь своей цели. Muse VSReferences позволит вам добавить ссылку глобального кэша сборок в проект из пункта Добавить ссылку GAC.

Ответ 3

Диалоговое окно Visual Studio Add Reference не зависит от GAC: папки, которые он ищет для сборок, фактически контролируются разделом реестра AssemblyFolders. Не все, что появляется в GAC, появляется в Add Reference (и, наоборот, не все в Add Reference находится в GAC).

Чтобы добавить ссылки на DLL файлы Rhino Mocks, перейдите на вкладку "Обзор", перейдите к местоположению, в котором вы установили/распаковали/построили Rhino Mocks, и выберите там DLL.

Ответ 4

Вы можете установить DLL файлы Report Viewer для WebForms и WinForms из NuGet:

nuget> Install-Package Microsoft.ReportViewer

Ответ 5

Принятый ответ не разрешил это, инструкции немного изменились в соответствии с Как добавить или удалить ссылки с помощью диалогового окна Добавить ссылку

Для 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 node позволяет всем пользователям видеть сборки в указанном месте в диалоговом окне Добавить ссылку. Создание раздела реестра под HKEY_CURRENT_USER node влияет только на настройку для текущего пользователя.

Откройте диалоговое окно Добавить ссылку. Сборки должны появиться на вкладке .NET. Если они этого не сделают, убедитесь, что сборки расположены в указанном каталоге AssemblyLocation, перезапустите Visual Studio и повторите попытку.

Протестировано и работает с Visual Studio 2017 Enterprise в Windows 10