Это на самом деле не мешает вам делать это. В частности, для .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)).