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 я вспомнил, что.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 бита?)

2 ответа

Решение

Gacutil.exe должен установить.dll в нужное место в зависимости от того, как он был скомпилирован. Вы должны быть в состоянии найти файл здесь: %ProgramFiles%\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\

.NET 4 имеет собственную папку сборки (c:\windows\Microsoft.NET\assembly) который имеет \GAC_32 а также \GAC_64 каталоги внутри... Здесь вы найдете ваши файлы после их установки.

Надеюсь, это поможет...

Для Windows 10:

C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ v7.0A \ Bin

Другие вопросы по тегам