.net SynchronizationLockException+;登录中

.net SynchronizationLockException+;登录中,.net,exception,logging,enterprise-library,enterprise-library-5,.net,Exception,Logging,Enterprise Library,Enterprise Library 5,我刚开始使用企业库的v5,似乎遇到了一些奇怪的问题。 通常我从日志开始。我刚刚添加了所需的引用并执行以下代码: Logger.Write("test"); 到目前为止没有什么特别的。检查输出时,我发现一个非常奇怪的问题;当第一次调用代码并加载所有必需的lib时,似乎会出现异常 A first chance exception of type 'System.Threading.SynchronizationLockException' occurred in Microsoft.Practic

我刚开始使用企业库的v5,似乎遇到了一些奇怪的问题。 通常我从日志开始。我刚刚添加了所需的引用并执行以下代码:

Logger.Write("test");
到目前为止没有什么特别的。检查输出时,我发现一个非常奇怪的问题;当第一次调用代码并加载所有必需的lib时,似乎会出现异常

A first chance exception of type 'System.Threading.SynchronizationLockException' occurred in Microsoft.Practices.Unity.dll
A first chance exception of type 'System.Threading.SynchronizationLockException' occurred in Microsoft.Practices.Unity.dll
因为我在打开cougt异常的情况下工作,所以这很烦人。你知道它是什么或者如何摆脱它吗

此外,我想添加一个跟踪侦听器,以将所有登录打印到VS输出中。但“系统诊断跟踪侦听器”似乎不支持格式化程序,这会导致泛洪输出。我是否仍然需要编写一个自定义侦听器(就像我在v3中所做的那样)来完成这项非常基本的任务?

我找到了一个“解决方案”。 考虑到企业LIB的统一部分中存在一个问题。
因为每个组件都是使用unity构建的,所以您也会得到这些异常。所以“解决方案”是禁用SynchronizationLockException的中断;这是通过异常设置菜单完成的,您通常在该菜单中打开已处理异常的中断。

我通过调出
UnityDefaultBehaviorExtension
解决了
SynchronizationLockException
问题。见

我们有这个。通过nuget查看最新版本。

更换Unity的一个内部组件可以解决此问题(无需引用)。看看我的答案。