2015-08-04 3 views
1

«Полностью пустой» проект WPF-приложения для трассировки 3.5 занимает более 30 секунд для запуска в Windows 7 с встроенным пакетом обновления 1 (SP1).System.Threading.dll запускает приложение WPF более чем за 30 секунд.

Проблема не появляется в Windows 7 Enterprise SP1 ни в Windows XP.

Единственное в проекте WPF является декларация/инициализация ConcurrentQueue исходя из System.Threading.dll:

private static readonly ConcurrentQueue<String> _queue = new ConcurrentQueue<string>(); 

Я должен был использовать эту DLL, потому что ConcurrentQueue не существует в 3,5 фреймворк.

Это похоже на системный вопрос, может ли это быть проблемой между двумя ConcurrentQueue? Один в моей DLL и один в фреймворке 4.0, установленный на встроенном компьютере Windows 7?

Некоторые соответствующая информация

версия The System.Threading DLL является 1.0.2856.102

Редактировать

Как было предложено @Sinatr я создал еще один ConcurrentQueue (копия пасты ConcurrentQueue, SystemCollectionsConcurrent_ProducerConsumerCollectionDebugView и IProducerConsumerCollection с ILSpy).

Это решает проблему, но я хотел бы знать, почему.

+0

@AdrianoRepetti Вот что я подумал, проблема, с которой я столкнулась, заставила меня сомневаться в этом – nkoniishvt

+0

@AdrianoRepetti Я установлю Visual Studio на этом компьютере, чтобы проверить это. – nkoniishvt

+0

Это звучит как взлома: ваш проект нацелен на 3,5, но вы добавляете (через ссылки?) DLL, содержащую 'ConcurrentQueue' от 4.0. Может быть, вы не должны этого делать, а просто реализуете сами? См. [Здесь] (http://stackoverflow.com/q/4555307/1997232). – Sinatr

ответ

0

Возможно, вам потребуется отключить выбор символов. Инструменты -> Параметры -> Отладка -> Символы -> снимите отметку Microsoft Symbol Servers.

+0

Благодарим вас за предложение, но оно уже снято (по умолчанию, вероятно, снят флажок, потому что я не помню, чтобы он менял его) – nkoniishvt

Смежные вопросы