"无法加载基类" - 没有明确的理由

时间:2012-11-01 20:06:22

标签: c# compiler-errors windows-forms-designer visual-studio-express

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

我不知道它实际意味着什么或者它突然出现的原因,对于错误信息所说的内容似乎相当模糊。我所知道的是,在我的应用程序中,我从一个ThemedWindow类中继承了许多主窗口,以便给它们一个自定义的外观,该代码中没有错误,一切都在20分钟前完成100%完美。

完整错误:

Warning 12  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: 

InheritingWindow --- The base class 'ThemedWindow' could not be loaded.  Ensure the assembly has been referenced and that all projects have been built.     0   0

对于从ThemedWindow继承的每个表单,以及其他一些错误,我得到了这个错误,因为项目不会构建得足够远,无法完成所有其他工作。

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

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

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

3 个答案:

答案 0 :(得分:8)

答案 1 :(得分:2)

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

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

一旦我将错误的代码注释为快速解决方案并重建解决方案,所有内容都已成功编译。

答案 2 :(得分:0)

就我而言(VS 2015 Pro),以上都没有帮助。只有在将目标框架更改为不同(特别是更新,从4.5.1到4.5.2)并重新编译之后,表单编辑器才会加载表单。

在更改目标框架之前,我尝试清理解决方案,删除并添加引用(基本用户控件在不同的dll中),在清理项目后手动删除所有bin和obj文件夹,重新启动VS,一切都无济于事。 ..