我刚开始使用v5的企业库,似乎遇到了一些奇怪的问题。 通常我开始使用日志记录。我刚刚添加了所需的引用并执行以下代码:
Logger.Write("test");
到目前为止没什么特别的。检查输出我发现了一个非常奇怪的问题;当第一次调用代码并加载所有必需的库时,似乎有例外......
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
由于我开启了正常的例外,这非常令人讨厌。知道它是什么或如何摆脱它?
此外,我想添加一个Trace Listener来打印所有登录VS输出。但似乎“System Diagnostings Trace Listener”不支持格式化程序,这会导致输出泛滥。我是否仍然需要编写自定义侦听器(就像我以前在v3中所做的那样)来实现非常基本的任务?
答案 0 :(得分:4)
我通过更换SynchronizationLockException
解决了UnityDefaultBehaviorExtension
问题。见Can Unity be made to not throw SynchronizationLockException all the time?
答案 1 :(得分:3)
我们有fixed这个。通过nuget查看最新版本。
答案 2 :(得分:1)
我找到了一个“解决方案”。 考虑到this post企业库的Unity部分存在问题。 由于每个组件都是使用统一构建的,因此您将获得这些异常。所以“解决方案”是禁用SynchronizationLockException的中断;这是通过异常设置菜单完成的,您通常会在此处打开处理异常的中断。