Как ссылаться на самодельную сборку, которая установлена ​​в GAC в visual studio? - PullRequest
2 голосов
/ 22 июня 2009

Я создал самодельную сборку и, по-моему, правильно установил ее в GAC с помощью инструмента настройки .Net 2.0 (mscorcfg.msu). Однако когда я хочу сослаться на него в visual studio, где я могу его найти?

(Я знаю, я не должен использовать GAC в любом случае, но баловать меня; -))

РЕДАКТИРОВАТЬ: Я не задал вопрос достаточно ясно: после установки сборки в GAC, он не отображается на вкладке .NET меню Project-Add Reference.

Ответы [ 3 ]

4 голосов
/ 22 июня 2009

В диалоговом окне добавления ссылок фактически просматривается реестр, в частности:

  • [HKEY_LOCAL_MACHINE] \ SOFTWARE \ Microsoft \ .NETFramework \ AssemblyFolders
  • [HKEY_CURRENT_USER] \ SOFTWARE \ Microsoft \ .NETFramework \ AssemblyFolders

Чтобы добавить свою сборку, вы должны отредактировать эти ключи реестра. Или просто использовать кнопку «Обзор ...» (вместо этого) может быть более заманчивым.

1 голос
/ 22 июня 2009

Когда вам нужно сослаться на сборку, которая была развернута в GAC, вам потребуется перейдите в каталог \ bin \ Debug исходного проекта через вкладку "Обзор" диалогового окна "Добавить ссылку" в Visual Studio.

Причина, по которой это работает, заключается в том, что, поскольку вы установили сборку в GAC, она будет иметь строгое имя и, следовательно, значение .publickey в манифесте.

Когда вы ссылаетесь на сборку, манифест которой содержит значение .publickey, Visual Studio предполагает, что сборка со строгим именем, скорее всего, будет развернута в GAC, и поэтому не пытается скопировать двоичный файл в папку вашего приложения.

Вместо этого он будет использовать версию в GAC.

0 голосов
/ 29 апреля 2010

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

Надеюсь, это Гекпс,

Muse VSExtensions

...