获取exceptionsystem.AppDomainUnloadedexception:正在运行线程的应用程序域已被卸载

我在C#vsto(excel)上工作,我创build了Excel 2007项目安装程序。 项目在Office 2007中工作正常,但是在Office 2010中打开它时,它开始创build问题。

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一个例外

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

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

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