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