针对框架 3.5 的“完全空”的 WPF 应用程序项目需要 30 多秒才能在 Windows 7 嵌入式 SP1 上启动。
该问题在 Windows 7 Enterprise SP1 和 Windows XP 上均未出现。
WPF 项目中唯一的事情是来自 System.Threading.dll 的 ConcurrentQueue 的声明/初始化:
private static readonly ConcurrentQueue<String> _queue = new ConcurrentQueue<string>();
我不得不使用这个 dll,因为 ConcurrentQueue 在 3.5 框架中不存在。
这似乎是一个系统问题,这可能是两个 ConcurrentQueue 之间的问题吗?我的dll中的一个和Windows 7嵌入式计算机上安装的framework 4.0中的一个?
一些相关资料
System.Threading dll 的版本是 1.0.2856.102
编辑
正如@Sinatr 所建议的,我创建了另一个 ConcurrentQueue(使用 ILSpy 复制粘贴 ConcurrentQueue、SystemCollectionsConcurrent_ProducerConsumerCollectionDebugView 和 IProducerConsumerCollection)。
这解决了问题,但我想知道为什么。