【问题标题】:Visual Studio 2008 can't show designer when designing Inherited Forms设计继承窗体时 Visual Studio 2008 无法显示设计器
【发布时间】:2012-07-17 13:03:14
【问题描述】:

我正在尝试通过从我已经创建的另一个表单继承来创建一个表单。这样做的原因是原来的表单实际上有3个状态,继承结构会更容易调试、理解和改进。

问题是我的 Visual Studio 2008 Forms 设计器不适合这个想法。而不是我可以设计的表单,我收到以下错误消息:

无法为此文件显示设计器,因为其中没有任何类可以设计。设计人员检查了文件中的以下类: InheritedForm --- 无法加载基类“MyBaseForm”。确保程序集已被引用并且所有项目都已构建。

基本上我在设计器中看不到我继承的表单,但原始表单在设计器中可以正常工作。

这非常令人沮丧,所以为了确保问题不是 VS2008 的错,我创建了一个全新的干净的 Forms 项目 (.net 2.0),并创建了一个名为 Form1 的表单和另一个继承自 Form1 的表单 (Form2)。这个项目工作得很好。我可以在设计器中看到 Form1,在我的 Form2 中我可以看到我添加到 Form1 的标签,但不能在 Form2 中移动它,因为它属于 Form 1。

我的测试结果证明我的 Visual Studio 确实可以工作;只是不在我需要它工作的原始项目中。我尝试的另一件事是,当您使用 VS2008 指南创建继承表单时,通过继承选择器创建继承的 From。在我的测试项目中,我可以看到我创建的所有表单,但在我的原始项目中,我无法选择任何东西。我试图浏览到我的 bin 文件夹中的 exe 文件,但它没有给我任何形式可供选择。

我也尝试过重建项目,清理项目并重新启动 VS2008,希望它处于某种奇怪的状态,但没有任何帮助。我不会否认我有一些可能会干扰设计器的奇怪项目设置的想法,因为项目文件有些旧并且有很多文件和元素。但由于我得到的错误描述,我发现这不太可能(仍在调查中)。

无论我在 Google 的搜索字段中输入什么内容或进行链接浏览,我一直在互联网上搜索相同的文章、论坛或博客,但没有成功。你们中的任何人对可能导致我的问题的原因有什么想法或建议吗?非常感谢此时的任何帮助、提示或建议。

提前谢谢你。

【问题讨论】:

  • 将您的 MyBaseForm 类编辑到仍然重现此问题的绝对最小值并将其发布在您的问题中。

标签: visual-studio-2008 windows-forms-designer


【解决方案1】:

我发现了问题所在。当我的一位同事认为他想解决我的问题并在他的计算机上启动相同的程序时,我正在研究 Hans Passant 的建议。令我们惊讶的是,他的设计师也在同一个项目上工作。在查看构建配置之前,我们都对此感到困惑。

我在问题中忘记提及的是,由于第 3 方 dll,我们的特定项目需要为 x64 或 86x 平台构建。这对于设计人员在使用普通表单时通常不是问题,但是当涉及到继承表单时,设计人员实际上需要运行基本表单才能显示继承的表单。

我的同事构建配置设置为 x86,我的设置为 x64。我们都在运行 VS2008(86x) 版本,这意味着设计者很可能是在 86x 平台上构建的。我们的结论是,如果我们将表单构建为 x64,设计者不知道如何运行它。所以我尝试将目标平台从 64x 更改为 86x,在我在 VS 中关闭表单并重新构建项目后,设计师再次工作。

为了确保我尝试使用一个新的空干净项目对其进行测试。我创建了 2 种形式:一种是基类,另一种是从基类继承的。默认情况下,构建配置是“AnyCPU”,设计器工作正常。但是当我将配置更改为“x64”时,设计器再次按预期失败。切换到“x86”按预期解决了问题。

所以在平台特定项目中使用继承表单时,总是在项目平台版本中设计等于您的 VS2008 平台版本(在我的情况下为 x86。我实际上不知道是否有x64 版本的 Visual Studio 2008)。由于某种原因,我仍然无法在我的原始项目中使用继承选择器,但在代码中继承就像一个魅力。

【讨论】:

  • 谢谢。你的回答让我想到了我的问题。 我的问题是构建的框架版本。 它设置为 .Net frmwrk 4 CLIENT。我已将其设置为 .Net frmwrk 4。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-04
  • 1970-01-01
  • 2011-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多