如何解决这个错误,“基类”Microsoft.Office.Tools.Ribbon.RibbonCollectionBase“不能被devise为”

每当我尝试添加一个新的function区到我的Excel 2010插件项目中,我会收到以下警告消息

devise者不能显示这个文件,因为它里面的任何类都不能被devise出来。 devise师在文件中检查了以下类:

Ribbon2 —无法devise基类“System.Object”。 ThisRibbonCollection —基类

“Microsoft.Office.Tools.Ribbon.RibbonCollectionBase”不能被devise。

另外,如果我们在Ribbon1.Designer.cs中查看代码,错误指向这一行:

base.Dispose(disposing);

我不知道那里出了什么问题。 我在这里是否缺less其他的Office程序集?

(在我的项目中,我有Microsoft.Office.CoreMicrosoft.Office.Interop.ExcelMicrosoft.Office.ToolsMicrosoft.Office.Tools.CommonMicrosoft.Office.Tools.ExcelMicrosoft.Office.Tools.Common.v4.0.UtilitiesMicrosoft.Office.Tools.v4.0.Framework

谁能帮忙? 谢谢。

我也遇到了这个。 我发现是因为我在创buildfunction区菜单之前将Addin项目的目标框架更改为完整的框架。

一旦我将目标变回客户档案,我就可以创buildfunction区,然后将其切换回完整的框架(这对于我们所做的工作来说是必要的),一切都很好。

嗯,似乎VS2010不知何故会有点古怪,除非我们按照一定的顺序添加项目。 无论如何,我所做的是我必须重新创build一个新的空白解决scheme,首先添加Excel Addin项目,添加Ribbons,然后添加我的类库项目来完成整个项目导入。 现在工作正常。

仍然不知道为什么它会抛出错误,如果我们首先添加类库。 我想也许这可能与访问程序集有关。

这听起来很奇怪,但为我工作。 我试图在VS2012中打开一个窗体(使用TFS的源代码pipe理)的UIdevise器,但它会给出错误:“基类system.object不能devise”。 我有一个基本类FormCommon,我检查它的文件后,我用默认的窗体replace。 然后干净的build设,显然失败了。 我解开了检查,并打开UIdevise器,它工作正常。 我不知道这个问题的根本原因是什么。