Требуется пояснение: использование сборок .NET в GAC. - PullRequest
0 голосов
/ 03 июня 2010

Сегодня я много читал и экспериментировал с настройкой сборок и их установкой в ​​GAC различными способами (mscorcfg.msc / drag and drop).

То, что я думал, было то, что, как только файл был в GAC, вам не нужно было делать ссылки из проектов в Visual Studio. Я знаю, что вы МОЖЕТЕ делать ссылки через обычный Add Reference, Browse и т. Д., Но я подумал, что это автоматически. Тестирование доказывает, что это не так.

Я наткнулся на сообщение на форуме, надеясь достичь того же результата, который предлагал добавить в файл machine.config в system.web, как показано ниже.

Это не сработало, фактически сломало visual studio, пока я не удалил его.

   <assemblies>
                <add assembly="Blah.Framework.Logging, Version=1.0.3806.25580, Culture=neutral, PublicKeyToken=0beed4b631ebc3cd" />
            </assemblies>

Что я хочу знать, правильно ли я предполагаю использование сборок в GAC, и есть ли способ сделать их доступными во всем мире?

1 Ответ

2 голосов
/ 03 июня 2010

Доступность по всему миру не означает, что ссылка автоматически добавляется во все ваши проекты. Это означает, что вам не нужно копировать DLL в пробный путь приложения (опция «Копировать локальный» в Visual Studio). Вам все еще нужно добавить ссылку на ваш проект из GAC, но выбранная вами сборка не копируется в папку bin проекта (первая остановка в пути исследования).

Практическая цель состоит в том, чтобы не распространять библиотеки DLL, на которые вы ссылаетесь, вместе с вашим приложением. Вы добавляете ссылку на него, и эта ссылка будет найдена на любом компьютере, к которому добавлена ​​библиотека DLL в GAC.

...