Я долго искал, пытаясь понять это лучше, но не нашел никаких прямых ответов по этому поводу.
У меня есть компонент, который мне нужен добавить в GAC. Я использую 64-разрядную версию Windows 7, и, пытаясь устранить проблему (SSIS 2005 не распознает DLL), я пытаюсь убедиться, что у меня есть DLL (.NET 4.0), зарегистрированная в соответствующем GAC. .
Итак, вот мои вопросы:
Где в Windows 7 находятся физические местоположения как 64-битных, так и 32-битных GAC? Я знаю о C: \ Windows \ assembly, но не уверен, какой это и где другой.
Какую версию gacutil я использую для добавления сборки в 64-битный GAC? 32-битный GAC? Я знаю C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC, и я предполагаю, что это для 32-битной версии, но не уверен, где находится 64-битный gacutil.
Что определяет, в каком GAC приложение ищет сборка? Я предполагаю, что это зависит от того, является ли приложение 64-битным или 32-битным, но мне интересно, есть ли в нем что-то большее, чем это.
Заранее спасибо.
Обновление:
После изучения этого следующего ответа ShaneBlake , Я вспомнил, что GAC .NET 2.0 и .NET 4.0 находятся в разных местах. Итак:
.NET 2.0 GAC:
c: \ windows \ assembly
(32-разрядная и 64-разрядная?)
.NET 4.0 GAC
c: \ windows \ Microsoft.NET \ assembly \ GAC_32
(только 32-разрядная версия)
c: \ windows \ Microsoft.NET \ assembly \ GAC_64
(только 64-разрядная версия)
c: \ windows \ Microsoft.NET \ assembly \ GAC_MSIL
(32-разрядная и 64 бит?)