如何将64位用户控件放入Visual Studio 2012的工具箱?

时间:2015-01-16 20:37:26

标签: c# visual-studio visual-studio-2012 controls

我的Visual Studio 2012项目最终可能会占用大量内存,因此我在其解决方案中为64位处理器构建了所有项目。至少有一个项目(不幸的是我不记得哪个)留在"任何CPU"。我决定将表单的内容转换为用户控件。它构建成功,我能够将生成的DLL添加到工具箱中,然后将新控件拖到窗体上。

然而,我对处理器选择之间的不匹配发出了丑陋的警告。为了清理它们,我将所有项目都更改为目标64位处理器。突然间,我无法在表单上使用64位控件。研究揭示了一篇文章说Visual Studio是一个32位进程,因此它无法在工具箱中托管64位控件,但仍然可以动态地使用这些控件。但我发现的KB文章可以追溯到VS 2008的时代。

这在VS 2012中是否仍然如此?如何将64位控件放入工具箱中,以便将其拖放到表单上?

非常感谢。

2 个答案:

答案 0 :(得分:1)

解决方案: 向解决方案添加类库 - 使用Any CPU标志进行编译。 将UserControls移动到此库。 将x64项目中的引用添加到此库中。 构建解决方案,然后在x64设计器中提供UserControl。

答案 1 :(得分:0)

使用64位Oracle.DataAccess编写应用程序时遇到了这个问题。然后,解决方案必须变为64位,从而导致通常的问题,即64位控件无法从“工具箱”拖动到表单上。我最终用AnyCPU制作了具有Designer构建器的所有组件,而应用程序的其余部分为x64。效果很好。