Места сборки для Visuals Studio Toolbox - PullRequest
1 голос
/ 25 января 2010

Я пытаюсь настроить среду разработки в 64-разрядной системе Windows 7. Я установил VS2005 и VS2008 хорошо.

На работе у нас есть несколько самостоятельно разработанных управляющих библиотек для .NET Compact Framework. Под 32-битной Windows XP я смог сохранить их в папке C: \ owncontrols и добавить папку в

[HKLM\...\Microsoft\.NETCompactFramework\VERSION\WindowsCE\AssemblyFoldersEx\COMPANYNAME]

Структура папок выглядит следующим образом:

c:\owncontrols\libname\2.0\dllname.dll
c:\owncontrols\libname\2.0\dllname.wm5.dll
c:\owncontrols\libname\3.5\dllname.dll
c:\owncontrols\libname\3.5\dllname.wm5.dll

Все библиотеки DLL имеют одинаковый номер версии. После внесения записей в реестр я смог добавить элементы управления на панель инструментов, и Visual Studio выберет правильную DLL в зависимости от версии платформы и типа устройства (WM5 или WinCE 5).

Под Windows 7 я как-то не могу это сделать. Я нашел записи реестра в узле WOW6432Node в HLKM\Software и сделал записи такими же, как в XP, но элементы управления не отображаются в Visual Studio, когда я пытаюсь добавить их в панель инструментов.

Так, может, я все делаю неправильно? Как бы я добавил элементы управления, как описано для XP? Обратите внимание, что установка в GAC здесь не вариант - эти библиотеки часто меняются.

Мне очень понравилась функция, заключающаяся в том, что Visual Studio выбрал правильную DLL в зависимости от версии фреймворка и типа проекта. Я попытался добавить библиотеки DLL вручную, но затем я увидел, что все элементы управления удвоились.

Спасибо за любую помощь Торстен

1 Ответ

1 голос
/ 18 марта 2013

Я написал эту учебную статью:

Интеграция элементов управления Visual Studio Toolbox

Скорее всего, это как-то связано с разрядностью вашей ОС.

Пробовали ли вы также AssemblyFolders (не только AssemblyFoldersEx)?

32-bit OS: HKLM\SOFTWARE\Microsoft\.NETFramework\AssemblyFolders\<your control name>
64-bit OS: HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\AssemblyFolders\<your control name>

32-bit OS: HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\<your control name>
64-bit OS: HKLM\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\AssemblyFoldersEx\<your control name>

В обоих случаях значением по умолчанию для ключа является строка с полным путем к папке с вашей сборкой.

...