Visual studio 2010 Visual Studio-无法将引用32位DLL的任何CPU DLL添加到工具箱中

Visual studio 2010 Visual Studio-无法将引用32位DLL的任何CPU DLL添加到工具箱中,visual-studio-2010,visual-studio-2012,dll,64-bit,Visual Studio 2010,Visual Studio 2012,Dll,64 Bit,我们现有的API包括产品附带的UI控件(WinForms和WPF)dll。我们的客户已经使用了一段时间,使用32位 最近,我们的客户转向了64位版本,我们正试图为64位版本的开发人员提供支持,因为Visual studio是32位进程,我们的控件dll与本机64位dll有依赖关系。无法在工具箱/设计器中加载/显示我们的控件 为了解决这个问题。我将控件dll的输出类型更改为AnyCPU,还将所有对低级本机dll的引用打包,以防止在将控件拖动到设计器或加载现有窗体/窗口时出现异常。 事实上,它解决了

我们现有的API包括产品附带的UI控件(WinForms和WPF)dll。我们的客户已经使用了一段时间,使用32位

最近,我们的客户转向了64位版本,我们正试图为64位版本的开发人员提供支持,因为Visual studio是32位进程,我们的控件dll与本机64位dll有依赖关系。无法在工具箱/设计器中加载/显示我们的控件

为了解决这个问题。我将控件dll的输出类型更改为AnyCPU,还将所有对低级本机dll的引用打包,以防止在将控件拖动到设计器或加载现有窗体/窗口时出现异常。 事实上,它解决了将控件拖动到设计器/加载现有窗体/窗口的问题。但这是因为我已经从以前的32位版本加载了工具箱中的控件

将控件加载到工具箱(工具箱->选择项)时仍然存在问题 在VS2010中-根本无法添加,失败是由于无法加载较低的本机dll。 在VS2012中,可以加载Winforms控件(有时仅在第二次加载之后), WPF控件根本无法加载

有人了解Visual Studio的加载dll机制吗?
不幸的是,当VS将添加到.NETDLL到工具箱时,VS会尝试加载包括C++的任何引用的DLL,即使我们在设计器运行时也不会请求更低的DLL资源,

我们使用的解决方法是提供32位DLL版本的控制框架,该框架由.Net DLL引用。 打开项目,添加对应用程序64位版本的引用。 打开工具箱,添加DLL,现在参考32位版本