【发布时间】:2012-10-04 09:31:10
【问题描述】:
我在 VS 2010 C# .NET 中遇到问题。我在 Windows XP 上有一个项目,其中包括表单、类和一些我自己的自定义组件。这些组件是内置 MS 组件的简单扩展(例如 DataGridViewEx 作为 DataGridView 的扩展)。在 XP 中一切正常。我正在尝试将此项目移植到 Windows 7 / x64 上的 VS 2010。我有在 Windows 7 上编译 OK 的解决方案,但是在设计模式下,当我打开一个包含自定义控件之一的表单时,我收到一个错误“找不到类型 XYZ.DataGridViewEx。请确保引用了包含此类型的程序集。 XYZ 是我用于这些控件的命名空间,它与使用这些控件的表单的命名空间相同。都是同一个 VS 项目的一部分。
当我在同一个项目中打开不包含这些自定义控件之一的表单时,该表单在设计器中打开正常,并且我在工具箱的左侧看到自定义控件。但是,如果我随后尝试将其中一个控件拖到该表单中,则会弹出一个错误消息框“无法加载工具箱项“DataGridViewEx”。它将从工具箱中删除。然后它会从工具箱中删除。
在 XP 的 VS 解决方案中一切正常。这个问题只出现在Windows 7 / x64的VS解决方案中。
我不明白为什么它抱怨找不到组件,因为该组件是同一个项目的一部分。这样做是有道理的,不是吗?
我搜索了网络/论坛并找到了“找不到类型”错误的案例,但这似乎是由不同的问题引起的,我还没有找到摆脱错误的方法.
非常感谢任何帮助/提示!
【问题讨论】:
-
我通过在解决方案中创建一个新的类库,并将所有组件从原始项目移动到新的类库,并将设计器引用更改为指向新的类库来让它工作命名空间。这很痛苦,但它有效。
-
我发现创建一个新类本质上是将问题复制到新命名的类中......
-
@jble 您应该将您的解决方案发布为答案并将其标记为已回答,以防其他人偶然发现此问题。
标签: c# .net visual-studio-2010 windows-7