jbl*_*ble 17 .net c# visual-studio-2010 windows-7
我在VS 2010 C#.NET中遇到了问题.我在Windows XP上有一个项目,包括表单,类和一些我自己的自定义组件.这些组件是内置MS组件的简单扩展(例如DataGridViewEx作为DataGridView的扩展).一切都在XP中运行良好.我正试图在Windows 7/x64上将此项目移植到VS 2010.我已经有了在Windows 7上编译OK的解决方案,但是在设计模式下,当我打开包含一个自定义控件的表单时,我收到错误'找不到类型XYZ.DataGridViewEx.请确保引用包含此类型的程序集.XYZ是我用于这些控件的命名空间,它与使用控件的表单具有相同的命名空间.所有这些都是同一个VS项目的一部分.
当我在同一项目中打开一个不包含这些自定义控件之一的表单时,该表单在设计器中打开OK,我在工具箱的左侧看到自定义控件.但是,如果我然后尝试将其中一个控件拖到该表单中,它会弹出一个错误消息框'无法加载工具箱项'DataGridViewEx'.它将从工具箱中删除.然后它会从工具箱中删除.
在XP中的VS解决方案中,一切都运行良好.此问题仅发生在Windows 7/x64中的VS解决方案中.
我不明白为什么它抱怨无法找到组件,因为组件是同一项目的一部分.这是一件有效的事情,不是吗?
我搜索了网络/论坛,发现了"找不到类型"错误的情况,但它似乎是由一个不同的问题引起的,我还没有找到摆脱错误的方法.
任何帮助/提示非常感谢!
Ric*_*ead 21
如果您的项目针对64位,则需要构建32位并在进行GUI编辑时选择32位解决方案.这是因为studio是32位,因此无法加载64位控件.
我以前遇到过这种情况,请确保在 Form.Designer.cs 代码文件中,对自定义控件的每次调用都是作为绝对调用完成的。例如:
Namespace.CustomControl control;
Run Code Online (Sandbox Code Playgroud)
而不是
CustomControl control;
Run Code Online (Sandbox Code Playgroud)