获取异常system.AppDomainUnloadedexception:已卸载运行线程的应用程序域

时间:2011-09-13 14:20:41

标签: c# excel vsto

我正在研究c#vsto(excel),我创建了excel 2007项目安装程序。项目在Office 2007中运行良好,但在Office 2010中打开时,它会开始创建问题。

System.AppDomainUnloadedexception: the application domain in which thread was running has been unloaded 

有人对此有任何想法吗?

更新: 我刚刚检查了我的代码:

private void ThisWorkbook_Startup(object sender, System.EventArgs e)
{
.
.
.
 this.Close(Type.Missing, Type.Missing, Type.Missing);
.
.

}

它为this.close

提供了例外

2 个答案:

答案 0 :(得分:0)

简单的答案是你使用“this.Close”而不告诉编码器“这个”是什么。在这种情况下,您正在执行一个方法(void)但是调用编译器无法识别的东西。这是一个域错误的原因?因为您试图关闭整个应用程序而不仅仅是您想要的工作簿。

解决方案是完全声明您尝试关闭的工作簿对象,然后在完全声明的对象上调用close方法。

答案 1 :(得分:0)

关闭工作簿会关闭应用程序域。 有关说明,请参阅http://blogs.msdn.com/b/mshneer/archive/2005/07/22/442866.aspx