Если вы будете следовать совету из комментария Ханса Пассанта и установить MSBuild для диагностического вывода, это даст более четкое представление о том, что занимает время.Если вы обнаружите, что ваша сборка висит на лицензионном компиляторе (LC.exe), это может быть связано с тем, что она пытается вызвать сервер и истекло время ожидания.Чтобы решить эту проблему, измените файл machine.config -
, отредактируйте файл c: \ windows \ microsoft.net \ framework \ v2.0.50727 \ config \ machine.config и добавьте следующий ключ:
<configuration>
<runtime>
<generatePublisherEvidence enabled="false"/>
РЕДАКТИРОВАТЬ: //
Основываясь на комментарии ниже, я немного покопался.У задачи проверки платформы есть известная проблема, которая выполняется очень медленно в VS2008.Подробнее об этом можно узнать здесь:
http://blogs.msdn.com/b/vsdteam/archive/2006/09/15/756400.aspx
Одним из способов решения этой проблемы является отключение самой задачи в вашей сборке.Для этого
1) Откройте файл:
%windir%\Microsoft.NET\Framework\v2.0.50727\Microsoft.CompactFramework.Common.Targets
для редактирования.
2) Перейдите к строке, которая гласит:
Name="PlatformVerificationTask">
и измените его на:
Name="PlatformVerificationTask" Condition="'$(SkipPlatformVerification)' != 'true'">
3) Добавьте переменную среды SkipPlatformVerification в систему и установите для нее значение «истина» (для повторного включения проверки платформы установите переменную среды на «ложь»).Если вам нужна помощь по настройке переменной среды, прочитайте http://vlaurie.com/computers2/Articles/environment.htm. Если вы не хотите добавлять переменную среды, вы можете поменять условие на что-то, что всегда ложно (т.е. Condition = "'true' == 'ложь ")