我正在尝试在Windows 7 64位版本系统上设置我的开发环境。我已经安装了VS2005和VS2008。
在工作中,我们为.NET Compact Framework提供了几个自行开发的控件库。在Windows XP 32位下,我能够将它们存储在文件夹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将根据框架版本和设备类型(WM5或WinCE 5)选择正确的DLL。
在Windows 7下,我无法以某种方式执行此操作。我在WOW6432Node
中的HLKM\Software
节点下找到了注册表项,并使条目与XP下的相同,但是当我尝试将它们添加到Visual Studio中时,控件不会显示在Visual Studio中工具箱。
所以也许我做错了?如何添加XP所描述的控件?请注意,此处无法安装到GAC - 这些库经常更改。
我非常喜欢Visual Studio根据框架版本和项目类型选择正确的DLL的功能。我尝试手动添加DLL,但后来我看到所有控件都加倍了。
感谢您的帮助 的Thorsten
答案 0 :(得分:1)
我写了这篇教程文章:
Visual Studio Toolbox Control Integration
这很可能与您的操作系统的位数有关。
您是否也尝试过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>
在这两种情况下,键的默认值都是一个字符串,其中包含程序集文件夹的完整路径。