2014-09-26 16 views
6

Wywołanie devenv.com z linii poleceń lub działania FinalBuilder w naszej zautomatyzowanej kompilacji czasami zawiesza się i nigdy nie przechodzi obok etapu kompilacji.devenv.com zawiesza się w VS 2013

Nazywa się z tym parametry z katalogu C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE:

devenv.com /build "Release|Any CPU" "D:\MyProject\MySolution.sln" 

Wisi na zawsze na tym etapie. Kiedy otwieram go w VS 2013 i ReBuild, rozwiązanie działa dobrze za każdym razem.

Wszelkie pomysły? Próbowałem również na innych maszynach do budowania i robi to samo. Więc nie jest zależna od maszyny.

+0

Budynek z devenv.com został przestarzały na VS2010. Czas przejść do MSBuild.exe, to powinno być wystarczającą inspiracją :) Jeśli nadal masz problemy, opublikuj ślad budowania, który uzyskasz z/v zerwaniem. –

+0

MSBuild.exe nie jest opcją. To jest kwestia polityki. Nasze zautomatyzowane kompilacje powinny być budowane w ten sam sposób, w jaki programista buduje na swoim komputerze lokalnym w VS. Więc mówisz, że powinienem dodać parametr "/ v" do devenv.com? –

+1

* Bardzo trudno uzyskać pomoc, gdy utkniesz w bardzo głupich polisach. Muszę polecić [tę stronę] (http://careers.stackoverflow.com/). –

Odpowiedz

3

Po wielu rozwiązywaniu problemów i przeglądaniu różnych dzienników, rozwiązań, szukania w Google, doszedłem do wniosku, że jest to spowodowane przez Extension Managera w Visual Studio 2013. Możesz znaleźć menedżera rozszerzeń we wszystkich wersjach Visual Studio -> Narzędzia -> Rozszerzenia i aktualizacje.

Tak więc przez odinstalowanie menedżera pakietów Nuget z Visual Studio 2013 sprawiło, że rozwiązania za każdym razem zostały pomyślnie skompilowane.

+0

Czy wiesz, dlaczego rozszerzenie spowodowało awarię? – AspiringTFSGuru

+0

Mam menedżera pakietów zainstalowany na VS 2010 i wydaje się, że jest OK. Wersje są jednak różne. VS 2010 używa v2.7, a VS 2013 korzystał z wersji 2.8. – AspiringTFSGuru

0

Rozwiązaliśmy to, tworząc nowy .sln i dodając do niego istniejące projekty. Informacje NuGet są teraz przywracane z plików .csproj i teraz używamy "przywracania nuget.exe" do aktualizacji pakietów NuGet przed wywołaniem devenv.com. Naprawiono to w przypadku niektórych projektów.

1

Kolejna poprawka, którą zauważyliśmy i którą możemy odtworzyć za każdym razem, gdy nasza wirtualna maszyna w Hyper-V otrzymała 2 procesory, powodowałaby zawieszanie się kompilacji za każdym razem. Zmniejszenie VM tylko o 1 CPU rozwiązuje problem.