GAC 32 бит против 64 бит
Я долго искал, пытаясь понять это лучше, но не нахожу никаких простых ответов на этот вопрос.
У меня есть компонент, который мне нужно добавить в 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 GACc:\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