GAC 32-битный против 64-битного

Я долго искал, пытаясь понять это лучше, но не нашел никаких прямых ответов по этому поводу.

У меня есть компонент, который мне нужен добавить в GAC. Я использую 64-разрядную версию Windows 7, и, пытаясь устранить проблему (SSIS 2005 не распознает DLL), я пытаюсь убедиться, что у меня есть DLL (.NET 4.0), зарегистрированная в соответствующем GAC. .

Итак, вот мои вопросы:

  1. Где в Windows 7 находятся физические местоположения как 64-битных, так и 32-битных GAC? Я знаю о C: \ Windows \ assembly, но не уверен, какой это и где другой.

  2. Какую версию gacutil я использую для добавления сборки в 64-битный GAC? 32-битный GAC? Я знаю C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC, и я предполагаю, что это для 32-битной версии, но не уверен, где находится 64-битный gacutil.

  3. Что определяет, в каком 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 бит?)

36
задан Jerad Rose 28 June 2011 в 21:01
поделиться