Защо Xamarin.Android възстановява цялото решение при изпълнение?

Използвам Xamarin Studio с Xamarin.iOS и Xamarin.Android. Моето работно пространство съдържа две решения, едно за android, друго за ios. Проектите са почти еднакви. Когато създам решението за ios, то възстановява само променени проекти. Извършва някои допълнителни операции, които отнемат много малко време. Така че натискането на Build втори път не отнема почти никакво време.

Но когато създам решението за Android, то възстановява всички проекти, независимо от промените във файловете, конфигурацията и т.н. Ако натисна Build след успешно изграждане, той го възстановява отначало. Дори по-лошо, ако се опитам да стартирам току-що създаден проект, той го изгражда отново! Освен това, ако стартирам проекта след изпълнение (когато отстранявате грешки в програма, това се случва често), той го възстановява отново. Тъй като имам много проекти, това отнема много време, освен това компилацията е много зависима от процесора, така че подобряването на скоростта е трудно.

Като цяло, въпросът е дали е възможно да не се изгражда отново цялото решение при всяка компилация? Може би има опция за конфигурация, която пропускам, или нещо не е конфигурирано?

Не знам дали нещо в конфигурацията на проекти е от значение за въпроса, така че, моля, кажете ми каква част от конфигурацията на решение/проекти може да помогне.

Версии:

Xamarin Studio
Version 4.0.9 (build 12)
Xamarin.Android
Version: 4.7.11 (Business Edition)

// Мислех, че отделната компилация в днешно време е задължителна за всеки сериозен компилатор, така че предполагам, че съм направил нещо нередно.

UPD: Инсталирах най-новите версии на Xamarin Studio и Xamarin.Android:

Xamarin Studio
Version 4.0.12 (build 3)
Xamarin.Android
Version: 4.8.1 (Business Edition)

Възстановяването на решението за android отнема 1 минута 58 секунди. Всеки път, когато стартирам приложението.


person Aneri    schedule 25.08.2013    source източник


Отговори (3)


Честно казано, това звучи като грешка в Xamarin Studio или инструмента за изграждане на xbuild, поне ако приемем, че нямате персонализирани стъпки за изграждане (които вероятно нямате)? Бихте ли могли да подадете сигнал за грешка на https://bugzilla.xamarin.com? Благодаря! Наистина не трябва да възстановява проекта всеки път.

Наистина се радвам да чуя, че вашият проект за iOS не се възстановява, тъй като аз съм поддържащият кода за компилация на iOS :-)

person jstedfast    schedule 29.09.2013
comment
Благодаря Ви за отговора! Всъщност имам персонализирана стъпка за предварително изграждане в един проект (стартовия). Но премахването му не помогна. Ще се опитам да направя възможно най-малката извадка и да подам грешка. - person Aneri; 03.10.2013
comment
може ли линк към бъга? защото все още го получавам днес - person kkarakk; 29.04.2019

Мисля, че причината за пълното възстановяване, когато искате да стартирате, е, че APK файл не се генерира при просто възстановяване. Първо се генерира, когато искате да внедрите или стартирате проекта.

person Cheesebaron    schedule 25.08.2013
comment
Защо тогава rerun извиква rebuild? - person Aneri; 25.08.2013

Това не е грешка, имам същите функции и загубих време в чакане за всяко изпълнение в режим на отстраняване на грешки. Мисля, че използването на Xamarin ми струва 10 пъти повече време, отколкото използването на която и да е друга среда за разработка, причинявайки много проблеми като този... Това е непрофесионален инструмент.

person renanyoy    schedule 17.12.2013
comment
То е. bugzilla.xamarin.com/show_bug.cgi?id=15162 Казват, че е фиксирано и бих казал, че е така. Сега е много по-бързо. - person Aneri; 18.12.2013
comment
трябва да е мигновено, без възстановяване.. и казах, че не е грешка, защото винаги е работило така, откакто използвам Xamarin.Android // около 3 години // - person renanyoy; 23.12.2013
comment
грешка все още съществува през 2019 г., пълни реконструкции дори без промяна в кода - person kkarakk; 29.04.2019