Некоторое время я искал, пытаясь понять это лучше, но не нашел прямых ответов на этот вопрос.
У меня есть компонент, который мне нужно добавить в 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-разрядная?)