1

我试图在Windows 7 64位版本系统上设置我的开发环境。我已经安装了VS2005和VS2008。Visuals Studio工具箱的装配位置

在工作中,我们有几个自行开发的.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下,我无法做到这一点,不知何故。我在HLKM\Software找到WOW6432Node节点下的注册表条目,并使条目与XP下的条目相同,但是当我试图将它们添加到工具箱时,控件不显示在Visual Studio中。

所以也许我做这一切都错了?我如何添加XP中描述的控件?请注意,安装到GAC不是这里的选项 - 这些库经常更改。

我非常喜欢Visual Studio根据框架版本和项目类型选择合适的DLL的功能。我尝试手动添加DLL,但后来我看到所有的控件加倍。

感谢所有帮助 托尔斯滕

+0

您是否试过将控制组件拖放到工具箱上? – 2010-02-16 13:11:09

+0

其实我没有试过这个。但是,我不想失去VS为目标平台和.NET版本选择正确程序集的功能。我必须将4个程序集放到工具箱中,其中两个具有相同的名称(请参阅上面的文件夹结构)。 – 2010-02-16 13:51:50

回答

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> 

在这两种情况下,键的默认值都是一个字符串,其中包含装配的文件夹的完整路径。