Если Unity нет в GAC, как VS узнает, что нужно показать его в Add References?

Я пытаюсь проиндексировать GAC и использовать цель ResolveAssemblyReferences. Однако некоторые сборки (например, блок приложения Unity), похоже, отсутствуют в GAC, и тем не менее VS с радостью показывает их в диалоговом окне «Добавить ссылку». Мой вопрос: как это может быть? Я всегда думал, что там появляются только сборки, зарегистрированные GAC. Я что-то упускаю?


person Dmitri Nesteruk    schedule 23.06.2010    source источник
comment
Я предполагаю блок приложений Unity (контейнер IoC)   -  person ckramer    schedule 23.06.2010
comment
Да, я говорю о блоке приложений Unity :)   -  person Dmitri Nesteruk    schedule 23.06.2010


Ответы (2)


В дополнение к параметру реестра, упомянутому ckramer, есть также HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727\AssemblyFoldersEx и HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx.

Совет: если вы загружаете VS 2010 Pro Power Tools, в обновленном диалоговом окне «Добавить ссылку» четко различаются сборки Framework и сборки Framework Extension.

person Stephen Cleary    schedule 23.06.2010

На самом деле существует параметр реестра, который позволяет добавлять каталоги в список местоположений, где Visual Studio будет искать сборки для отображения в диалоговом окне «Добавить ссылки».

Вот краткий обзор где он находится и как добавить к нему свои собственные пути.

person ckramer    schedule 23.06.2010