【问题标题】:VS 2012 Designer could not be shownVS 2012 Designer 无法显示
【发布时间】:2013-04-18 16:37:15
【问题描述】:

我有一个 UserControl 类 Employee_EmployeeKeyOneRelationUC 继承自 RelationUC 继承自 RelationBase 继承自 System.Window.Forms.UserControl

当我尝试在 Designer 中打开我的 Employee_EmployeeKeyOneRelationUC 时,出现此错误:

The designer could not be shown for this file because none of the classes within it can be designed. The designer inspected the following classes in the file: Employee_EmployeeKeyOneRelationUC --- The base class 'AstusFMS.Content.RelationUC' could not be loaded. Ensure the assembly has been referenced and that all projects have been built.

但是当我打开 RelationUCRelationBase 时,两者都正确显示。

我的程序仍在编译,但为什么这让我感到困扰?因为我有一个表单EmployeeForm,它使用了很多UserControl(如Employee_EmployeeKeyOneRelationUC),当我尝试编辑此表单中的某些内容时,表单中包含的每个继承自UserControleBase 的UserControl 都被删除(左: TFS 服务器,右:本地):

这个差异表明设计者删除了我所有的ucEmployee* 对象。只是因为我更改了 ComboBox 的名称(组合框与其中一个 UC 无关)。

我注意到,当我创建一个新的 UserControl 文件时,显示的默认代码有一个错误:

但是Using System.Windows.Forms; 就在那里。如果我将UserControl 更改为System.Windows.Forms.UserControl 它可以工作。

我可能不够清楚,所以如果你有问题,我会整天回答和测试。

使用 VS2010、VS2012 Update 1、VS2012 Update 2 在 3 台不同的计算机上测试

【问题讨论】:

  • 您的解决方案中是否有名称空间,路径中有“UserControl”?当你完全限定它时它会起作用,因为它能够区分你想要的类和你不想要的命名空间。
  • 是的,我没有考虑过。这是解决的一个问题。您对不会显示的 UC 和我的删除代码有什么想法吗?

标签: c# winforms visual-studio-2012 devexpress


【解决方案1】:

在 Form 或 Usercontrol 中使用泛型时,建议您放置一个定义 Generic 类型的空类。您当前的 Form 然后派生自该类。

我将该类放在同一个文件中。它必须在实际的表单代码之后,如下所示:

  public partial class Employee_EmployeeKeyOneRelationUC
    : Employee_EmployeeKeyOneRelation_GenericUC
  { ... }

  public class Employee_EmployeeKeyOneRelation_GenericUC
    : RelationUC<MyObject>
  { }

【讨论】:

  • 成功了,非常感谢。多么愚蠢的解决方法,但它有效!
  • 这对我没有帮助
  • 非常感谢,它有效,但我也认为,这是愚蠢的方式。所以我放弃了。此外,我必须补充一点,当我尝试解决这个问题时,我使用了一个构造函数,该类中的参数从泛型形式派生。但它没有用。然后我添加了一个空的构造函数,它再次工作。这是一个有趣的错误...
【解决方案2】:

如果您从 VS2010 加载 C++ CLR Winforms 应用程序,则 VS2013 的表单设计器存在错误。 "无法显示此文件的设计器,因为其中没有任何类可以设计。"

如果您更改并保存源文件,那么表单设计器将再次开始工作。 但是再次加载项目时再次失败。 看起来像是加载源文件和表单设计器解析代码之间的竞赛。

【讨论】:

    猜你喜欢
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-22
    • 1970-01-01
    • 2013-05-15
    • 1970-01-01
    相关资源
    最近更新 更多