Как я могу ссылаться на dll в GAC из Visual Studio?

Эта assembly находится в GAC: Microsoft.SqlServer.Management.RegisteredServers.dll

Как добавить ссылку на эту сборку в Visual Studio?

Я могу просмотреть файл в каталоге c: \ windows \ assembly \

Как говорили другие, большую часть времени вы не захотите этого делать, потому что он не копирует сборку в ваш проект и не будет развертываться с вашим проектом. Однако, если вы похожи на меня и пытаетесь добавить ссылку, которую все целевые компьютеры имеют в своем GAC, но это не assembly .NET Framework:

  1. Откройте диалоговое окно «Запуск Windows» (Windows Key + r)
  2. Тип C: \ Windows \ assembly \ gac_msil. Это какой-то странный хак, который позволяет вам просматривать ваш GAC. Вы можете добраться до него только через диалог запуска. Надеюсь, мое распространение этой информации в конечном итоге не заставит Microsoft ее исправлять и блокировать. (Слишком параноидальный?: P)
  3. Найдите свою сборку и скопируйте ее путь из адресной строки.
  4. Откройте диалоговое окно «Добавить ссылку» в Visual Studio и выберите вкладку «Обзор».
  5. Вставьте путь к вашей сборке GAC.

Я не знаю, есть ли более простой способ, но я его не нашел. Я также часто использую шаг 1-3 для размещения файлов .pdb со своими assemblyми GAC, чтобы убедиться, что они не потеряны, когда мне потом нужно использовать Remote Debugger.

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

Надеюсь, это поможет Muse VSExtensions

Регистрация assmblies в GAC затем не помещает ссылку на сборку в диалоговом окне добавления ссылок. Вам все равно нужно ссылаться на сборку по пути для вашего проекта, главное отличие в том, что вам не нужно использовать локальный вариант копирования, ваше приложение найдет его во время выполнения.

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

Обратите внимание: если вы отправляете свое приложение кому-то, у которого нет этой сборки, вам нужно будет отправить его, и в этом случае вам действительно нужно использовать распространяемый SharedManagementObjects.msi.

В VS2010 из windows «Добавить реестры» вы можете нажать «Обзор» и перейти к C: \ Windows \ Assembly и добавить ссылки на нужные сборки. Обратите внимание, что файлы могут быть сгруппированы в разные папки, такие как GAC, GAC_32, GAC_64, GAC_MSIL и т. Д.

В VS щелкните правой кнопкой мыши ваш проект, выберите «Добавить ссылку …», и вы увидите все пространства имен, существующие в вашем GAC. Выберите Microsoft.SqlServer.Management.RegisteredServers и нажмите «ОК», и вам должно быть хорошо идти

РЕДАКТИРОВАТЬ:

Именно так вы хотите это делать большую часть времени. Однако после некоторого разговора я нашел эту проблему в MS Connect. MS говорит, что это известная проблема с развертыванием, и у них нет работы. Парень говорит, что если он копирует dll из папки GAC и бросает его в свой мусорный бак, он работает.

Единственный способ, который работал для меня, – скопировать dll на рабочий стол или что-то еще, добавить ссылку на него, а затем удалить DLL с рабочего стола. Visual Studio будет обновляться и, наконец, ссылается на DLL из GAC.

Предполагая, что вы alredy пытались «добавить ссылку …», как объяснялось выше, и не удалось, вы можете посмотреть здесь . Они говорят, что вам нужно выполнить некоторые предварительные условия: – .NET 3.5 SP1 – Установщик Windows 4.5

EDIT: Согласно этому сообщению, это известная проблема.

И это может быть решение, которое вы ищете 🙂

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

  1. Поместите свою DLL в GAC (для 3.5 Drag Drop внутри “C: \ Windows \ assembly \” )
  2. Проекты GoTo -> Свойства
  3. Щелкните ссылку «Ссылка» (для 3.5 это «C: \ Windows \ assembly» )
  4. и assembly

Надеюсь, поможет

Соответствующие файлы и ссылки можно найти здесь:

http://msdn.microsoft.com/en-us/library/cc283981.aspx

Обратите внимание на ссылки на него о реализации / etc.

Я нашел это расширение для Vsite VAC .

  • Ошибка: не удалось создать экземпляр пользователя SQL Server
  • Ссылка на system.management.automation.dll в Visual Studio
  • VB.Net Передача значений в другую форму
  • «Ньютонсофт» не найден
  • Как начать новый проект CUDA в Visual Studio 2008?
  • Как изменить шаблоны Visual Studio для нового classа / интерфейса C #?
  • Ошибка CMake на CMakeLists.txt: 30 (проект): не найдено CMAKE_C_COMPILER
  • Переключить «Перерыв при вызове исключения». Использование макроса или комбинации клавиш
  • Сделать ListView.ScrollIntoView Прокручивать элемент в центр ListView (C #)
  • Каковы некоторые причины, по которым assembly Release будет работать иначе, чем assembly Debug
  • Какова наилучшая практика для «Копировать локальную» и с рекомендациями по проекту?
  • Давайте будем гением компьютера.