Używam TeamCity, który z kolei wywołuje msbuild (.NET 4). Mam dziwny problem z tym, że po ukończeniu kompilacji (i nie ma to znaczenia, czy była to udana kompilacja, czy nie), msbuild.exe pozostaje otwarty i blokuje jeden z plików, co oznacza za każdym razem, gdy TeamCity próbuje aby wyczyścić katalog roboczy, nie powiedzie się i nie może kontynuować.msbuild.exe pozostanie otwarte, blokowanie plików
To się dzieje prawie za każdym razem.
Naprawdę zagubiłem się na tym, więc postaram się przedstawić jak najwięcej szczegółów.
- Serwer to procesor Intel Core i7 o pojemności 2 GB, ze standardowym 64-bitowym SP2 dla systemu Windows Server 2008.
- W TeamCity, runner msbuild jest skonfigurowany z parametrem
/m
polecenia linii (co oznacza, że użycie wielu rdzeni) - dany plik jest zawsze samo DLL zewnętrzne, do którego odwołuje się w jednym z NET projekty, na ścieżce
External Tools\Telerik\Telerik.Reporting.Dll
. (Istnieje kilka innych plików .DLL zawartych w kataloguExternal Tools
o podobnej strukturze ścieżki, które nigdy nie powodują tego problemu). Obecnie jest to wersja próbna raportów Telerik, w przypadku, która robi jakąkolwiek różnicę. - Gdy pojawia się problem, zawsze jest kilka procesów wymienionych w Menedżerze zadań: Sądzę, że jest 7. Używanie Process Explorer, wszystkie wyglądają jak procesy najwyższego poziomu (bez rodziców). Wszystkie używają pamięci RAM o pojemności 20-50 MB i 0,0% mocy procesora.
- Jeśli poczekam 1-3 minut, msbuild.exe przetwarza wyjście samodzielnie, a TeamCity może następnie poprawnie zaktualizować katalog roboczy.
- Jeśli ręcznie zakończę proces msbuild, aktualizacja TeamCity ponownie zadziała.
- Usługi indeksowania są wyłączone w systemie Windows (chociaż poprzednie dwa punkty zasadniczo potwierdzają, że to msbuild.exe powoduje problem).
- Nie ma specjalnych właściwości w pliku Telerik.reporting.dll. Jedyna właściwość SVN to
svn:mime-type = application/octet-stream
Czy ktoś już kiedyś to przeszedł?
ma sens: to nie wydaje się stanie, jeśli usunę/m. Próbuję teraz z '/ m/nr: false', uruchomię dla kilku kompilacji i zobaczę jak to działa. Dzięki – gregmac
Byłeś kilka dni, a dziesiątki buildów później, i to się już nie powtórzyło - wygląda na to, że zostało rozwiązane. Dzięki – gregmac
Świetnie! Miło, że mogłem pomóc. – Brian