Jeśli zastosujesz się do rady z komentarza Hansa Passanta i ustawisz MSBuild na wyjście diagnostyczne, uzyskasz jaśniejszy obraz tego, co zajmuje dużo czasu. Jeśli okaże się, że kompilacja jest zawieszona na kompilatorze licencjonowania (LC.exe), może to być spowodowane próbą połączenia się z serwerem i przekroczeniem limitu czasu. Można rozwiązać ten problem poprzez zmianę swój machine.config -
edit c: \ windows \ microsoft.net \ Framework \ v2.0.50727 \ config \ machine.config i dodaj następujący klucz:
<configuration>
<runtime>
<generatePublisherEvidence enabled="false"/>
EDYTOWANIE: //
Na podstawie komentarza poniżej zrobiłem trochę kopania. Zadanie weryfikacji platformy ma znany problem, który działa bardzo wolno w VS2008. Więcej szczegółów na jej temat można znaleźć tutaj:
http://blogs.msdn.com/b/vsdteam/archive/2006/09/15/756400.aspx
Jednym ze sposobów obejścia tego problemu jest wyłączenie samego zadania w swojej budowie. Aby to zrobić
1) Otwórz plik:
%windir%\Microsoft.NET\Framework\v2.0.50727\Microsoft.CompactFramework.Common.Targets
do edycji.
2) Przejdź do wiersza, który brzmi:
Name="PlatformVerificationTask">
i zmień ją na:
Name="PlatformVerificationTask" Condition="'$(SkipPlatformVerification)' != 'true'">
3) Dodaj zmienną środowiskową SkipPlatformVerification do systemu i ustaw ją na "true" (Aby ponownie włączyć weryfikację platformy, ustaw zmienną środowiskową na "false"). Jeśli potrzebujesz pomocy przy ustawianiu zmiennej środowiskowej przeczytaj http://vlaurie.com/computers2/Articles/environment.htm. Jeśli nie chcesz dodawać zmiennej środowiskowej, możesz zamienić warunek na coś, co zawsze jest fałszywe (tj. Condition = "true" == "false" ")
C# nie używa łącznika. Zmień wyjście MSBuild na diagnostyczne i wklej czasy, które widzisz w swoim pytaniu. Narzędzia + opcje, projekt i rozwiązania, kompilacja i uruchamianie. –