4

我正在使用 Visual C# 2008 Express。这是我多年来第一次遇到这个错误,最后一次是在我开始编程的时候。

我不知道它的实际含义或它为什么突然出现,对于错误消息所说的内容似乎相当模棱两可。我所知道的是,在我的整个应用程序中,我从我想出的 ThemedWindow 类中继承了许多主窗口,以赋予它们自定义外观,该代码中没有错误,并且一切都在 20 分钟前工作 100% 完美。

完整的错误:

警告 12 无法为此文件显示设计器,因为无法设计其中的任何类。设计者检查了文件中的以下类:

InheritingWindow --- 无法加载基类“ThemedWindow”。确保已引用程序集并且已构建所有项目。0 0

对于从 ThemedWindow 继承的每个表单以及其他几个错误,我都得到了这一点,因为该项目构建的距离不足以让其他一切正常工作。

就在这发生之前,我更新了所有表单和子控件上的字体,项目甚至在我这样做之后构建并运行,然后这完全没有明确的原因发生。

我已经尝试过经典的重建它,删除构建文件,重新打开 Visual Studio 等,但目前似乎没有任何效果。

有谁知道如何解决这一问题?

4

4 回答 4

14

使用 AnyCPU 选项构建您的基本用户控件类。

于 2016-11-01T21:56:10.583 回答
3

这些问题是由 Visual Studio 中的一个不幸的错误引起的。我在一些代码中有其他错误(不是警告),即使没有其他直接依赖于它,这在整个情况中发挥了作用。

我解释它可能是错误的,但这是我认为出错的地方:由于某种原因(错误),它完全忘记了它之前已经编译过的未更改对象,给了我代码中的实际错误,以及其他一些错误警告,因为它不会超过那个点。我无法进入依赖于表单的设计器,ThemedWindow因为我猜ThemedWindow在这些错误发生之前没有重新编译。

一旦我将错误代码注释掉作为快速修复并重新构建解决方案,一切都成功编译。

于 2012-11-02T00:11:51.417 回答
0

In my case (VS 2015 Pro) none of the above helped. Only after changing the target framework to different (specifically newer, from 4.5.1 to 4.5.2) and recompiling did the Forms Editor load the form.

Before changing the target framework I tried cleaning the solution, removing and adding the references (the base user control was in different dll), manually deleting all bin and obj folders after cleaning the project, restarting VS, all to no avail...

于 2016-11-24T12:18:54.213 回答
0

I have this problem too, with VS 2019 version 16.11.2, so I guess this bug will never be fixed.

My workaround, since my BaseForm class does all its work through code at runtime and has no functionality that would affect the designer, is that when I need to use the designer, I just temporarily change my window's base class. That is, change--

partial class MainWindow : BaseForm {

to

partial class MainWindow : Form {

然后做设计工作,然后一旦设计器关闭,就把 BaseForm 放回去。

如果您的基本表单类也没有做任何会对设计器产生影响的事情,这可能对您有用。

于 2021-09-07T14:00:16.460 回答