如何诊断,最小化或阻止AppDomainUnloadedException
?
在涉及PLINQ的长(> 10s)测试后,NUnit 2.5.2始终抛出AppDomainUnloadedException
。
早在2008年7月,Stephen Toub said:
是的,调度程序在 CTP不能很好地处理线程中止,这经常导致 当域中存在实时调度程序时崩溃的过程 shutdown(因为AppDomain关闭会导致所有线程中止 该域中具有堆栈帧的线程)。我们正努力变硬 这是为了将来的发布。
我尝试了很多解决方法,包括:
/domain:None
指定为NUNit参数legacyUnhandledAppDomainPolicy
nunit-console.exe.config
元素
我无法将NUnit备份到reduce the odds of the race condition,因为我需要PLINQ才能使参数测试更快。没有问题的NUnit版本不支持参数测试。
答案 0 :(得分:1)
根据this PLINQ Task Manager thread on the MSDN forums,您的问题应该得到解决;使用最新版本的.NET框架,PLINQ的任务管理器已经在AppDomain卸载时干净地关闭。
您是否仍在使用.NET 4或4.5遇到此问题?