Excel AddIn在devise器代码中抛出exception

我正在尝试为Excel 2007开发一个AddIn,并且有一个完整的代码,可以在别人的机器上执行和debugging。 当我尝试在我的机器上的Visual Studio中启动debugging时,Excel在加载我的AddIn时给了我一个错误:

“找不到或findAddIn”。

然后我点击Detailsbutton来查看堆栈跟踪:

Cannot access a disposed object. ************** Exception Text ************** System.ObjectDisposedException: Cannot access a disposed object. at Microsoft.Office.Tools.SmartTagCollection.BeginInit() at ExcelAddIn1.ThisAddIn.BeginInitialization() in C:\Documents and Settings\james.cox\My Documents\Visual Studio 2008\Projects\ExcelAddIn1\ExcelAddIn1\ThisAddIn.Designer.cs:line 129 at ExcelAddIn1.ThisAddIn.InitializeDataBindings() in C:\Documents and Settings\james.cox\My Documents\Visual Studio 2008\Projects\ExcelAddIn1\ExcelAddIn1\ThisAddIn.Designer.cs:line 66 at Microsoft.VisualStudio.Tools.Office.EntryPointComponentBase.Microsoft.VisualStudio.Tools.Applications.Runtime.IEntryPoint.InitializeDataBindings() at Microsoft.VisualStudio.Tools.Applications.AddInAdapter.ExecutePhase(ExecutionPhases executionPhases) at Microsoft.VisualStudio.Tools.Office.Internal.OfficeAddInAdapter.InitializeEntryPointsHelper() 

实际上,我现在已经创build了一个Excel AddIntypes的全新解决scheme,并且在代码中根本没有改变任何东西,并且仍然得到相同的错误。

这是什么意思? 在Google上search,我看到MSDN上似乎有同样的问题,但不幸的是从来没有回答他的问题。 有没有人见过这个问题?

当我尝试testingExcel 2007中的RibbonXfunction时,我遇到了同样的问题。我注意到在exception消息中有一个参考SmartTags,所以我拉起控制面板,并将我的Office安装更改为不包含智能标记。 NET Progammability支持,在“自定义”安装窗口中的“Office工具”下。 在这之后我的插件运行没有问题。

也可以通过从插件中删除提及的智能标签来消除这个问题。 我相信这可以通过编辑ThisAddIn.cs文件的Designer文件来完成,通过使用Visual Studio中的Project,Show All Files选项可以使这些文件可见。

在ThisAddIn.Designer.xml中,您应该删除以下行:

 <hostitem:hostControl hostitem:name="VstoSmartTags" hostitem:identifier="VstoSmartTags" hostitem:type="Microsoft.Office.Tools.SmartTagCollection" hostitem:primaryCookie="VstoSmartTags" hostitem:modifier="Internal" /> 

然后删除ThisAddIn.Designer.cs文件中的任何对VstoSmartTags的引用。 警告的话虽然,我没有实际尝试过,所以它可能无法正常工作。