Нужно ли мне когда-нибудь использовать Global Assembly Cache (GAC)?
Я много лет создавал веб-приложения.NET, и я никогда не использую GAC?
Что мне не хватает? Или мне лучше держаться подальше от этого?
3 ответа
GAC полезен только в том случае, если вы регистрируете библиотеки, которые собираетесь использовать повторно. Ни в коем случае не обязательно использовать для запуска WebApp без общих библиотек.
GAC в основном предназначен для хранения общих библиотек, особенно когда вашему приложению требуется определенная версия. Таким образом, я мог установить FooLib 1.0 и FooLib 2.0 на одну и ту же машину, и приложения, для которых требуется любое из них, могли бы найти те, которые им нужны. В любом случае, веб-приложения не используют много внешних библиотек.
В другом примере SSIS требует, чтобы ваши пользовательские инструменты были в GAC. Сильная боль.
Как говорит Винсент, GAC важен в основном для сторонних поставщиков библиотек, которые хотят поддерживать обслуживание независимо от клиентских приложений. Другими словами, если в библиотеке есть ошибка, вы можете обновить библиотеку и исправить все приложения, которые используют библиотеку, без необходимости знать, какие они приложения и т. Д.
На практике большинство приложений.NET (до сих пор) являются веб-приложениями, поэтому оказывается, что это в основном полезно для Microsoft, поскольку немногие другие люди имеют обычную возможность загружать обновления на компьютеры конечных пользователей.