* ПОЧЕМУ * Visual Studio не позволяет вам сделать ссылку на сборку в GAC? - PullRequest
4 голосов
/ 24 ноября 2010

Было несколько вопросов, которые ответили на КАК или точнее, как обойти это ограничение Visual Studio:

Отсутствует сборка GAC в диалоговом окне Добавить ссылку Как я могу ссылаться на DLL в GAC из Visual Studio?

Документация MSDN хотя и гласит:

Вы не можете добавлять ссылки из Global Assembly Cache (GAC), как есть строго часть времени выполнения окружающая среда.

Так что, похоже, команда Visual Studio сделала это специально. Может, они сделали это, чтобы ты не навредил себе? Какую лучшую практику я нарушаю, ссылаясь на сборку в GAC, используя VS расширение , как это? Я что-то упустил?

Просто перепроверьте с сообществом, оцените ваши мысли.

Ответы [ 3 ]

3 голосов
/ 24 ноября 2010

Это на самом деле не мешает вам делать это. В частности, для .NET 4.0 вы можете использовать вкладку Обзор для доступа к c: \ windows \ microsoft.net \ assembly. Обработчик расширения оболочки, который не позволяет вам получить доступ к .NET 2.0 GAC через диалоги оболочки, не включен для 4.0

.

Но да, это действительно плохая идея. GAC - это деталь реализации развертывания, вы не можете предполагать, что содержимое вашего GAC будет соответствовать содержимому на другом компьютере. Только эталонная сборка может дать вам стабильный набор определений типов, которые не изменяются, например, когда вы получаете обновление для системы безопасности через Центр обновления Windows.

Это еще более актуально для .NET 4.0. Его эталонные сборки являются особенными. Они больше не являются копиями сборок, которые вы можете найти в GAC или в c: \ windows \ microsoft.net. Они содержат только метаданные, без IL. Это позволяет Microsoft развертывать обновления, которые изменяют публичные типы в сборках. Что-то пошло не так в пакетах обновления .NET 2.0 (например, WaitHandle.WaitOne (int)).

3 голосов
/ 18 июня 2011

С Sharp Develop (которая является IDE с открытым исходным кодом для .NET) вы можете добавлять ссылки GAC, с .NET 4 вы можете добавлять ссылки GAC. Вы определенно не навредите себе, добавив ссылки GAC. У меня нет негативных отзывов от разработчиков, использующих его.

Скоро это расширение будет иметь больше сексуальных функций.

1 голос
/ 24 ноября 2010

Поскольку GAC может иметь более одной версии данной сборки, он очень быстро станет очень сложным.Проще потребовать, чтобы копия версии, на которую вы хотите сослаться, находилась в обычной папке.

(Большую часть времени вам не следует использовать GAC, так как это так же сложно, как и Регистрбыл в дни COM.)

...