Запуск сеанса отладки в Silverlight занимает очень много времени - PullRequest
4 голосов
/ 09 февраля 2011

В моем приложении SL4 LOB я, вероятно, ударил F5 1000x или больше без проблем.Неожиданно, теперь нажатие клавиши F5 может занять до 90 секунд, прежде чем будет вызвано событие запуска приложения.

Я пытался очистить кеш браузеров IE, там никакой помощи.

Я создал новое приложение для навигации без кода, нажал F5, сразу запустился, отлично.Затем я начал добавлять те же ссылки на сборки из моего приложения SL4 LOB во вновь созданное приложение навигации.После добавления каждой ссылки я нажимал клавишу F5, чтобы приложение сразу запускалось;пока все хорошо.

Увы, я наконец пришел к System.Windows.Controls.Data.Toolkit.dll, которая вызвала то же поведение с моим исходным приложением SL4 LOB.Я удалил ссылку из навигационного приложения, и он снова запустился немедленно.Это всего лишь 33 КБ, поэтому я не могу утверждать, что у меня проблемы с кэшем символов.

Кто-нибудь еще видел это странное поведение?Любое понимание будет с благодарностью.

1 Ответ

1 голос
/ 10 февраля 2011

Небольшой размер вашего приложения не будет иметь большого значения для скорости запуска сеансов отладки. Замедление будет вызвано большим количеством зависимостей в вашем приложении.

Вы удалили одну ссылку, которая значительно улучшила ситуацию, и есть вероятность, что эта одна DLL, вероятно, зависит от десятков других библиотек. Если вы проверите процесс с помощью такого инструмента, как Process Explorer , вы увидите, какие именно библиотеки загружаются во время выполнения.

Эти посторонние зависимости довольно распространены. Мастера проектов, которые вы используете в Visual Studio, почти всегда добавляют зависимости к элементам, которые ваше конечное приложение не будет использовать. Например, ссылка на XML всегда является частью вашего проекта по умолчанию, но не всегда должна использовать XML. Рекомендуется пройтись и удалить эти ненужные зависимости после первоначального создания проекта. При необходимости вы всегда можете вернуться и снова обратиться к ним в будущем.

...