Неожиданная медленная сборка проекта C # в VS 2010 - PullRequest
5 голосов
/ 01 июня 2011

Я работаю над довольно простым решением C # с двумя проектами: библиотекой классов и установщиком для библиотеки. Сборка самой библиотеки классов занимает около секунды. Однако сборка установщика занимает непредсказуемо / невероятно много времени. Что еще интереснее, процессор, похоже, «делает перерывы» во время компиляции, выпуская одно ядро ​​в течение 5–10 секунд, а затем достигает около 0 в течение нескольких секунд.

Проект установки довольно прост. Это просто вывод из библиотеки классов (одна DLL, около 2 МБ) и нескольких ключей реестра.

Есть идеи, что может вызвать это?!

Ответы [ 3 ]

0 голосов
/ 10 января 2013

Если кто-то наткнулся на этот вопрос в Google, и ни одно из других решений, похоже, не решило вашу проблему, и вы, как и я, работали на USB-накопителе ... не используйте USB-накопитель. Хотя вы только потом настраиваете одно рабочее пространство в TFS, а затем перетаскиваете usb вокруг, оно того не стоит. Просто создайте другое рабочее пространство на локальном диске и используйте usb только при необходимости.

0 голосов
/ 10 января 2013

Поработав некоторое время, я обнаружил, что, изменив настройку Register на NOT REGISTER for COM в пользу того, чтобы сборка DLL выполняла регистрацию, сборка установщика стала намного надежнее (и быстрее).Я не уверен, что это решение, поскольку регистрация COM должна просто работать.Но я, по крайней мере, смог обойти эту проблему.

0 голосов
/ 15 июня 2011

У нас была именно эта проблема, и мы обнаружили, что процесс сборки msi создает файлы vsi * .tmp в папке c: \ Documents and Settings \ username \ Local Settings \ Temp, которые не очищаются и, следовательно, накапливаются со временем. Чем больше этих файлов существует, тем больше времени занимает создание MSI. Мы решили нашу проблему с помощью запланированного задания по удалению любого из этих файлов, возраст которых> 24 часа.

Примечание. В нашем случае сервером была Windows Server 2003 R2 - отсюда и префикс c: \ Documents and Settings. Если вы используете Windows Vista или Windows 7, вы, вероятно, найдете файлы, выполнив поиск vsi * .tmp в каталоге c: \ Users \ username.

...