2016-12-02 14 views
14

Opracowałem kilka (eksperymentalnych i prototypowych) aplikacji na iOS przy użyciu Xamarin i nowego Visual Studio dla Mac OS, a czasy kompilacji sporadycznie trwają średnio około 5-10 minut. Przy rozpoczynaniu nowego projektu czas budowy jest dobry. Po kilku zmianach kodu źródłowego podczas pracy nad moimi aplikacjami (brak konkretnych zmian). Bez żadnego powodu czas budowy zaczyna wzrastać do 5-10 minut. Wypróbowałem wszystkie możliwe opcje kompilacji (łączenie, brak łączenia, wersje SDK, nowy certyfikat wysyłający itp.).Czas kompilacji Xamarin bardzo powolny

Po zbadaniu za pomocą aplikacji Działania (Mac OS, Sierra) stwierdzam, że proces "codeign" zajmuje 110% CPU i trwa tak długo, jak trwa kompilacja.

Czy ktoś ma jakiekolwiek doświadczenie w tym problemie?

+0

Jedną sztuczką, której używam do szybszego budowania, jest kliknięcie prawym przyciskiem myszy na rozwiązanie i wybór menedżera konfiguracji, tam możesz wybrać, co zbudować i kiedy , często domyślnie wybiera wszystkie projekty i wszystkie platformy, gdy jest potrzebne, aby budować tylko iOS, gdy ustawisz iOS jako projekt startowy i zbudujesz tylko Androida, gdy ustawisz Androida jako projekt startowy. – BraveHeart

+0

Kompilacje w iOS są generalnie powolne w Xamarinie. Jeśli tworzysz aplikację typu crossplatform i używasz formularzy - proponuję użyć Androida do szybkiego procesu budowania/testowania. –

+2

Czy możesz dodać wynik diagnostyczny do swojego posta, abyśmy mogli zobaczyć, gdzie to wąskie gardło? –

Odpowiedz

4

Mam ten sam problem

najpierw spróbować blisko Visual Studio następnie usunąć bin, obj od projektu, wreszcie rozpocząć Zbuduj wizualnej i uruchomić

drugiej próbie upewnij się zbudować w rzeczywistym urządzeniu czasami emulator powoduje problemy, jak się upewnić, czy budowanie sukcesu, ale wdrażanie utknęło wiele razy

+0

Doskonała porada, usunięcie folderów 'bin' i' obj' ze wszystkich projektów w moim rozwiązaniu natychmiast naprawiło problem powolnej kompilacji. – Jonathan

+0

Po drugie! Moja VS zaczęła zwalniać na etapie wdrażania! –

+0

W przypadku, gdy ktoś inny na to wpadnie, nie działało to dla mnie w pierwszym kompilacji, ale pracował dla każdej kompilacji po. – ShannonS