当我启动应用程序时,有时(通常是编译后第一次),显示以下错误。
重新启动应用程序可以最多次解决问题。
如何找出根本原因?在应用程序启动时断言失败:ReflectionTypeLoad_LoadFailed
除了错误消息和堆栈跟踪,我没有其他有关原因的信息。
Visual Studio告诉我调试的源信息不可用。
从线程信息窗口我看不到主线程在Catel.Reflection.ReflectionExtensions.GetTypesEx()。
ApplicationName.vshost.exe - 断言失败
表达: [mscorlib程序递归资源查找错误]
说明:mscorlib程序内资源查找过程中无限递归。
这可能是mscorlib中的一个错误,或者可能存在于某些可扩展性点(例如程序集解析事件或CultureInfo名称)中。
资源名称: ReflectionTypeLoad_LoadFailed
完整的堆栈跟踪可用in my onedrive。
以下是第几行:
Stack Trace:
at System.Environment.ResourceHelper.GetResourceStringCode(Object userDataln)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
at System.Environment.ResourceHelper.GetResourceString(String key, CultureInfo culture)
at System.Environment.ResourceHelper.GetResourceString(String key)
at System.Environment.GetResourceStringLocal(String key)
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at System.Reflection.RuntimeModule.GetTypes()
at System.ReflectionAssembly.GetTypes()
at Catel.Reflection.ReflectionExtensions.GetTypesEx(Assembly assembly) in c:\CIWSMA1596\Source\Catel\sraCatel.Core\Catel.CoreShareaReflection\Extensions\ReflectionExtensions.assembly.cs:line 33
at Catel.Reflection.AssemblyHelper.GetAllTypesSafely(Assembly assembly, Boolean logLoaderExceptions) in cACI_WS\WA1596\Source\Catel sraCatel.Core\Catel.Core.ShareaReflection\Helpers `, AssemblyHelper.cs:line 192
at Catel.Reflection.TypeCachelnitializeAssemblies(lEnumerablel assemblies) in cACI_WSWW\1596\Source\Catel\src\Catel.CoreKatel.Core.ShareaReflection\TypeCache.cs:line 583
at Catel.Reflection.TypeCachelnitializeTypes(Boolean forceFulllnitialization, Assembly assembly) in cACI_WSNWs\1596\Source\cateNsraCatel.Core\Catel.Core.ShareaReflection\TypeCache.cs:line 553
at Catel.Reflection.TypeCache.OnAssemblyLoaded(Object sender, AssemblyLoadEventArgs args) in c:\CI_WSNWs\1596\SourceKateNsraCatel.Core\Catel.Core.ShareaReflection\TypeCache.cs:line 131
at System.AssemblyLoadEventHandlerinvoke(Object sender, AssemblyLoadEventArgs args)
at SystemAppDomain.OnAssemblyLoadEvent(RuntimeAssembly LoadedAssembly)
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at System.Reflection.RuntimeModule.GetTypes()
at System.Reflection.Assembly.GetTypes()
at Catel.Reflection.ReflectionExtensions.GetTypesEx(Assembly assembly) in c:\CIWS\Ws\1596\Source\Catel\src\Catel.Core\Catel.Core.Shared\Reflection\Extensions\ReflectionExtensions.assembly.cs:line 33
at Catel.ReflectionAssemblyHelper.GetAllTypesSafely(Assembly assembly, Boolean logLoaderExceptions) in c:\CI_WSNWs\1596\Source\catel\sraCatel.Core\Catel.Core.ShareaReflection\Helpers‘AssemblyHelper.cs:line 192
at Catel.Reflection.TypeCachelnitializeAssemblies(lEnumerablel assemblies) in cACI_WSNWs\1596\SourceKatel\src\Catel.Core\Catel.Core.ShareaReflection TypeCache.cs:line 583
at Catel.Reflection.TypeCachelnitializeTypes(Boolean forceFulllnitialization, Assembly assembly) in c:\CIWS\Ws\1596\Source\Catel\sraCatel.Core\Catel.Core.ShareaReflection\TypeCache.cs:line 553
at Catel.Reflection.TypeCache.OnAssemblyLoaded(Object sender, AssemblyLoadEventArgs args) in c:\CI__WS\WA1596\Source\Catel\sraCatel.Core\Catel.Core.ShareaReflection\TypeCache.cs:line 131
at System.AssemblyLoadEventHandlerinvoke(Object sender, AssemblyLoadEventArgs args)
at System.AppDomain.OnAssemblyLoadEvent(RuntimeAssembly LoadedAssembly)
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
at System.Reflection.RuntimeModule.GetTypes()
at System.Reflection.Assembly.GetTypes()
at Catel.Reflection.ReflectionExtensions.GetTypesEx(Assembly assembly) in c: CIWSNWs\1596\Source\Catel\src Catel.Core\Catel.Core.ShareaReflection Extensions\ReflectionExtensions.assembly.cs:line 33
at Catel.Reflection.AssemblyHelper.GetAllTypesSafely(Assembly assembly, Boolean logLoaderExceptions) in c:\CI_WSNWs\1596\Source\Catel sraCatel.Core\Catel.Core.ShareaReflection\Helpers\AssemblyHelper.cs:line 192
at Catel.Reflection.TypeCacheinitializeAssemblies(lEnumerablel assemblies) in cACI_WS\WA1596\Source\Catel\src\Catel.CoreKatel.Core.ShareaReflection\TypeCache.cs:line 583
at Catel.Reflection.TypeCacheinitializeTypes(Boolean forceFulllnitialization, Assembly assembly) in cACIWS\WA1596\Source\Catel\sraCatel.Core\Catel.Core.ShareaReflection‘TypeCache.cs:line 553
at Catel.Reflection.TypeCache.OnAssemblyLoaded(Object sender, AssemblyLoadEventArgs args) in c:\CI__WS\Ws\1596\Source\Catel\sraCatel.Core\Catel.Core.ShareaReflection‘TypeCache.cs:line 131
at System.AssemblyLoadEventHandlerinvoke(Object sender, AssemblyLoadEventArgs args)
at System.AppDomain.OnAssemblyLoadEvent(RuntimeAssembly LoadedAssembly)
不幸的是我没有机会忽略这个例外。它显示在与其他例外截然不同的模式弹出对话框中。甚至没有显示具体的异常类型。那么我该如何以及在哪里可以忽略它?不管怎样,不应该这样做吗? – 2014-09-22 09:10:57
请在官方问题跟踪器中提供repro,请参阅http://www.catelproject.com/support/issue-tracker – 2014-09-22 10:03:48