2013-06-06 12 views
8

Kiedy debuguję mój projekt Xamarin.iOS z Visual Studio, on buduje, instaluje na symulatorze i uruchamia aplikację bez problemu. Ale po uruchomieniu widzę cały zestaw śledzenia debugowania z metody, która nie istnieje nawet w moim kodzie C#. Mogę również ustawić punkty przerwania na klasie, z której usunąłem metodę na tych samych numerach linii, gdzie była ta metoda, i zobaczę usuniętą metodę w stosie wywołań, gdy debugger się zatrzyma.Symulator Xamarin iOS działający pod starym kodem

Zamknąłem i ponownie uruchomiłem Visual Studio, zresetowałem połączenie z serwerem budującym Maca, wyczyściłem i przebudowałem moje rozwiązanie i ręcznie usunąłem wyjście rozwiązania. Na komputerze Mac zamknąłem i ponownie uruchomiłem symulator, a następnie wypróbowałem opcję Resetuj zawartość i ustawienia, co powoduje wyczyszczenie aplikacji. Ale sytuacja nadal trwa, nawet po tym wszystkim. Czy mogę wypróbować coś na Macu, aby upewnić się, że wszystkie kopie starego kodu z pamięci podręcznej zostały usunięte?

Odpowiedz

7

W folderze projektu usuń foldery bin i obj. To działa dla mnie, ale nadal jest denerwujące.

+1

To jest najbliższe temu, co jak dotąd działa dla mnie - ręczne robienie Przebuduj projekt po wprowadzeniu zmian. Zauważyłem również, że jeśli zmienisz projekt A, a projekt B zależy od projektu A, muszę przebudować A, a następnie przebudować B. –

+0

Mam ten sam problem, ale po stronie Androida, to oczywiście działa stary kod, mimo że Próbowałem już odbudować/wyczyścić/usunąć bin/obj/restartując studio xamarin/restartując mój komputer. Co daje?? – Justin

+0

Mam ten sam problem, czy jest jakieś obejście inne niż usuwanie folderów bin i obj za każdym razem? –

2

W symulatorze systemu iOS (na komputerze Mac) kliknij pozycję "Resetuj zawartość i ustawienia" w menu głównym.

+0

Dzięki, ale już wypróbowałem to ... zaktualizowane pytanie, aby to powiedzieć. –

+0

Wygląda na to, że Resetuj zawartość i ustawienia wpływa tylko na aktualnie działającą instancję symulatora, na przykład iPhone5, ale nie na iPhone6. –

+0

@PurpleLagoon: To prawda, każdy symulator jest całkowicie oddzielny. Zobacz: http://stackoverflow.com/q/15365179/183422 –

1

Dobrze ten pracował z moim Android projekt cierpi z tego samego problemu:

  1. prawym przyciskiem myszy na projekcie Android następnie wybierz „Właściwości”.
  2. Wybierz "Opcje Androida", a następnie "Pakowanie".
  3. Usuń zaznaczenie opcji "Użyj Shared Runtime".

następnie pracował normalnie

1

Sprawdź Configuration Manager (rozwijanej z Debug Release etc) i sprawdzić, że wszystkie projekty są w trakcie budowy. Zwykle odznacza wszystkie projekty, z którymi pracujesz, z nieznanego powodu.

Oznacza to, że nie przebudowuje wszystkich projektów, a zatem pokazuje starą wersję.

Zgodnie z komentarzem dotyczącym przebudowy każdego projektu, jest to klasyczny znak, że projekty nie są sprawdzane, aby zostały zbudowane podczas uruchamiania i dlaczego trzeba to zrobić ręcznie.

0

W moim przypadku musiałem włączyć wszystkie architektur:

  • Android właściwości projektu
  • Andrid Oprions
  • Sekcja Anvanced Tab
  • Zaznacz wszystkie architektur i odbudować
1

miałem podobny problem (choć na emulatorze Androida).

Co nie działa dla mnie:

  • ponownym uruchomieniu komputera
  • ponownym uruchomieniu Visual Studio
  • kasowanie bin/obj foldery
  • wchodząc Configuration Manager (Debug/Release/Konfiguracja Manager) i zaznaczając wszystko - wszystko zostało zaznaczone
  • zmiana wersji aplikacji w manifeście

Co pracował dla mnie?

Odinstalowanie aplikacji z emulatora, a następnie ponowne uruchomienie debugowania. To był emulator Androida, więc odinstalowałem go, klikając ikonę aplikacji i holidng na długo, a następnie przeciągając go do "Odinstaluj aplikację". Na symulatorze iOS powinien być podobny.