Połączenie ion Rozwiązywanie problemów z hostem kompilacji platformy Xamarin.iOS

Ten przewodnik zawiera kroki rozwiązywania problemów, które mogą wystąpić podczas korzystania z nowego menedżera połączeń, w tym problemów z łącznością i protokołem SSH.

Lokalizacja pliku dziennika

  • Mac~/Library/Logs/Xamarin.Messaging-[VERSION.BUILD]
  • Windows%LOCALAPPDATA%\Xamarin\Logs

Pliki dziennika można znaleźć, przechodząc do sekcji Pomoc > dziennikom zip platformy Xamarin > w programie Visual Studio.

Gdzie jest aplikacja hosta kompilacji platformy Xamarin?

Host kompilacji platformy Xamarin ze starszych wersji platformy Xamarin.iOS nie jest już wymagany. Program Visual Studio automatycznie wdraża agenta za pośrednictwem zdalnego logowania i uruchamia go w tle. Nie ma dodatkowej aplikacji, która będzie działać na komputerach Mac lub Windows.

Rozwiązywanie problemów z logowaniem zdalnym

Ważne

Te kroki rozwiązywania problemów są przeznaczone głównie dla problemów występujących podczas początkowej konfiguracji w nowym systemie. Jeśli wcześniej używano połączenia pomyślnie w określonym środowisku, a następnie połączenie nagle lub sporadycznie przestaje działać, możesz (w większości przypadków) przejść bezpośrednio do sprawdzenia, czy którykolwiek z poniższych pomaga:

  1. Sprawdź, czy na komputerze Mac zainstalowano zgodne wersje platformy Xamarin.iOS. W tym celu w programie Visual Studio 2017 upewnij się, że korzystasz z kanału dystrybucji Stabilne w Visual Studio dla komputerów Mac. W programie Visual Studio 2015 i starszych wersjach upewnij się, że korzystasz z tego samego kanału dystrybucji w obu środowiskach IDE.

    • W Visual Studio dla komputerów Mac przejdź do Visual Studio dla komputerów Mac > Sprawdź, czy Aktualizacje..., aby wyświetlić lub zmienić kanał aktualizacji.
    • W programie Visual Studio 2015 i starszych sprawdź kanał dystrybucji w obszarze Narzędzia Opcje platformy Xamarin > Inne.>>
  2. Upewnij się, że na komputerze Mac włączono zdalne logowanie . Ustaw dostęp tylko dla tych użytkowników i upewnij się, że użytkownik mac znajduje się na liście lub grupie:

    Set access for Only these users

  3. Sprawdź, czy zapora zezwala na połączenia przychodzące za pośrednictwem portu 22 — wartość domyślna dla protokołu SSH:

    Check that the firewall allows incoming connections through port 22

    Jeśli wyłączono opcję Automatycznie zezwalaj podpisanemu oprogramowaniu na odbieranie połączeń przychodzących, system OS X wyświetli okno dialogowe podczas procesu parowania z prośbą o zezwolenie mono-sgen lub mono-sgen32 odbieranie połączeń przychodzących. Pamiętaj, aby kliknąć pozycję Zezwalaj na to okno dialogowe:

    Click Allow on this dialog

  4. Upewnij się, że zalogowano się do konta użytkownika na tym komputerze Mac i masz aktywną sesję graficznego interfejsu użytkownika.

  5. Upewnij się, że nawiązujesz połączenie z komputerem Mac przy użyciu nazwy użytkownika , a nie pełnej nazwy. Pozwala to uniknąć znanego ograniczenia dla pełnych nazw, które zawierają znaki wyróżniające.

    Nazwę użytkownika można znaleźć, uruchamiając whoami polecenie w Terminal.app.

    Na przykład na poniższym zrzucie ekranu nazwa konta będzie amyb , a nie Amy Burns:

    Getting the account name from the Terminal app

  6. Sprawdź, czy adres IP używany dla komputera Mac jest poprawny. Adres IP można znaleźć w obszarze Preferencje > systemowe Udostępnianie > logowania zdalnego na komputerze Mac.

    The IP address in the System Preferences app

  7. Po potwierdzeniu adresu IP komputera Mac spróbuj wykonać ten ping adres w systemie cmd.exe Windows:

    ping 10.1.8.95
    

    Jeśli polecenie ping nie powiedzie się, komputer Mac nie jest routingu z komputera z systemem Windows. Ten problem należy rozwiązać na poziomie konfiguracji sieci lokalnej między 2 komputerami. Upewnij się, że obie maszyny znajdują się w tej samej sieci lokalnej.

  8. Następnie przetestuj ssh , czy klient z protokołu OpenSSH może pomyślnie nawiązać połączenie z komputerem Mac z systemu Windows. Jednym ze sposobów zainstalowania tego programu jest zainstalowanie narzędzia Git dla systemu Windows. Następnie możesz uruchomić wiersz polecenia powłoki Git Bash i spróbować przejść do ssh komputera Mac przy użyciu nazwy użytkownika i adresu IP:

    ssh amyb@10.1.8.95
    

  9. Jeśli krok 8 zakończy się pomyślnie, możesz spróbować uruchomić proste polecenie, takie jak ls za pośrednictwem połączenia:

    ssh amyb@10.1.8.95 'ls'
    

    Powinno to zawierać zawartość katalogu macierzystego na komputerze Mac. ls Jeśli polecenie działa poprawnie, ale połączenie programu Visual Studio nadal kończy się niepowodzeniem, możesz sprawdzić sekcję Znane problemy i ograniczenia dotyczące komplikacji specyficznych dla platformy Xamarin. Jeśli żaden z tych elementów nie pasuje do twojego problemu, zgłoś nowy raport o usterce w społeczności deweloperów, przechodząc do obszaru Pomoc > Wyślij raport opinii > o problemie w programie Visual Studio i dołącz dzienniki opisane w sekcji Sprawdź pełne pliki dziennika.

  10. Jeśli krok 8 zakończy się niepowodzeniem, możesz uruchomić następujące polecenie w terminalu na komputerze Mac, aby sprawdzić, czy serwer SSH akceptuje jakiekolwiek połączenia:

    ssh localhost
    
  11. Jeśli krok 8 zakończy się niepowodzeniem, ale krok 10 zakończy się powodzeniem, najprawdopodobniej problem polega na tym, że port 22 na hoście kompilacji na komputerze Mac nie jest dostępny z systemu Windows ze względu na konfigurację sieci. Możliwe problemy z konfiguracją obejmują:

    • Ustawienia zapory systemu OS X nie zezwalają na połączenie. Pamiętaj, aby dokładnie sprawdzić krok 3.

      Czasami konfiguracja poszczególnych aplikacji dla zapory systemu OS X może również znajdować się w nieprawidłowym stanie, w którym ustawienia wyświetlane w preferencjach systemowych nie odzwierciedlają rzeczywistego zachowania. Usunięcie pliku konfiguracji (/Library/Preferences/com.apple.alf.plist) i ponowne uruchomienie komputera może pomóc przywrócić zachowanie domyślne. Jednym ze sposobów usunięcia pliku jest wprowadzenie /Library/Preferences w obszarze Przejdź > do folderu w programie Finder, a następnie przeniesienie pliku com.apple.alf.plist do kosza.

    • Ustawienia zapory jednego z routerów między komputerem Mac a komputerem z systemem Windows blokują połączenie.

    • Sam system Windows nie zezwala na połączenia wychodzące z portem zdalnym 22. Byłoby to niezwykłe. Istnieje możliwość skonfigurowania Zapory systemu Windows tak, aby nie zezwalała na połączenia wychodzące, ale ustawieniem domyślnym jest zezwalanie na wszystkie połączenia wychodzące.

    • Host kompilacji komputera Mac nie zezwala na dostęp do portu 22 ze wszystkich hostów zewnętrznych za pośrednictwem pfctl reguły. Jest to mało prawdopodobne, chyba że wiesz, że skonfigurowano pfctl w przeszłości.

  12. Jeśli krok 8 zakończy się niepowodzeniem i krok 10 zakończy się niepowodzeniem, problem prawdopodobnie oznacza, że proces serwera SSH na komputerze Mac nie jest uruchomiony lub nie jest skonfigurowany tak, aby zezwolić bieżącemu użytkownikowi na logowanie. W takim przypadku należy dokładnie sprawdzić ustawienia logowania zdalnego z kroku 2 przed zbadaniem bardziej skomplikowanych możliwości.

Znane problemy i ograniczenia

Uwaga

Ta sekcja ma zastosowanie tylko wtedy, gdy nawiązano już połączenie z hostem kompilacji dla komputerów Mac przy użyciu nazwy użytkownika i hasła dla komputerów Mac przy użyciu klienta SSH OpenSSH, zgodnie z opisem w krokach 8 i 9 powyżej.

"Nieprawidłowe poświadczenia. Spróbuj ponownie”.

Znane przyczyny:

  • Ograniczenie — ten błąd może pojawić się podczas próby zalogowania się do hosta kompilacji przy użyciu pełnej nazwy konta, jeśli nazwa zawiera znak wyróżniający. Jest to ograniczenie biblioteki SSH.NET używanej przez platformę Xamarin na potrzeby połączenia SSH. Obejście: Zobacz krok 5 powyżej.

"Nie można uwierzytelnić się przy użyciu kluczy SSH. Najpierw spróbuj zalogować się przy użyciu poświadczeń"

Znana przyczyna:

  • Ograniczenie zabezpieczeń protokołu SSH — ten komunikat najczęściej oznacza, że jeden z plików lub katalogów w w pełni kwalifikowanej ścieżce $HOME/.ssh/authorized_keys na komputerze Mac ma włączone uprawnienia do zapisu dla innych lub członków grupy . Powszechna poprawka: uruchom chmod og-w "$HOME" polecenie w wierszu polecenia terminalu na komputerze Mac. Aby uzyskać szczegółowe informacje o tym, który plik lub katalog powoduje problem, uruchom polecenie grep sshd /var/log/system.log > "$HOME/Desktop/sshd.log" w terminalu, a następnie otwórz plik sshd.log z pulpitu i poszukaj pozycji "Odmowa uwierzytelniania: nieprawidłowa własność lub tryby".

"Próbujesz nawiązać połączenie..." nigdy nie kończy się

  • Usterka — ten problem może wystąpić na platformie Xamarin 4.1, jeśli powłoka logowania w menu kontekstowym Opcje zaawansowane dla użytkownika mac w preferencjach > systemowych Użytkownicy i grupy jest ustawiona na wartość inną niż /bin/bash. (Począwszy od platformy Xamarin 4.2, ten scenariusz prowadzi zamiast tego do komunikatu o błędzie "Nie można nawiązać połączenia"). Obejście: zmień powłokęlogowania z powrotem na oryginalną domyślną wartość /bin/bash.

"Nie można nawiązać połączenia z hostem MacBuildHost.local. Spróbuj ponownie”.

Zgłoszone przyczyny:

  • Usterka — kilku użytkowników widziało ten komunikat o błędzie wraz z bardziej szczegółowym błędem w plikach dziennika "Wystąpił nieoczekiwany błąd podczas konfigurowania protokołu SSH dla użytkownika ... Upłynął limit czasu operacji sesji" podczas próby zalogowania się do hosta kompilacji przy użyciu konta użytkownika domeny usługi katalogowej lub usługi katalogowej. Obejście: zaloguj się do hosta kompilacji przy użyciu konta użytkownika lokalnego.

  • Usterka — niektórzy użytkownicy widzieli ten błąd podczas próby nawiązania połączenia z hostem kompilacji, klikając dwukrotnie nazwę komputera Mac w oknie dialogowym połączenia. Możliwe obejście: Ręcznie dodaj komputer Mac przy użyciu adresu IP.

  • Usterka — niektórzy użytkownicy uruchamiają ten błąd podczas korzystania z połączenia sieciowego bezprzewodowego między hostem kompilacji komputera Mac i systemem Windows. Możliwe obejście: Przenieś oba komputery do połączenia sieciowego przewodowego.

  • Usterka — na platformie Xamarin 4.0 ten komunikat będzie wyświetlany w dowolnym momencie , gdy plik $HOME/.bashrc na komputerze Mac zawiera błąd. (Począwszy od platformy Xamarin 4.1, błędy w pliku bashrc nie będą już miały wpływu na proces połączenia). Obejście: Przenieś plik bashrc do lokalizacji kopii zapasowej (lub usuń go, jeśli wiesz, że nie jest potrzebny).

  • Usterka — ten błąd może pojawić się, jeśli powłoka logowania w menu kontekstowym Opcje zaawansowane dla użytkownika mac w preferencjach > systemowych Użytkownicy i grupy jest ustawiona na wartość inną niż /bin/bash. Obejście: zmień powłokęlogowania z powrotem na oryginalną domyślną wartość /bin/bash.

  • Ograniczenie — ten błąd może pojawić się, jeśli host kompilacji komputera Mac jest połączony z routerem, który nie ma dostępu do Internetu (lub jeśli komputer Mac korzysta z serwera DNS, który przekroczył limit czasu, gdy zostanie wyświetlony monit o wsteczne wyszukiwanie DNS komputera z systemem Windows). Pobranie odcisku palca SSH w programie Visual Studio potrwa około 30 sekund i ostatecznie nie powiedzie się.

    Możliwe obejście: Dodaj wartość "UseDNS no" do pliku sshd_config . Pamiętaj, aby zapoznać się z tym ustawieniem SSH przed zmianą. Zobacz na przykład unix.stackexchange.com/questions/56941/what-is-the-point-of-sshd-usedns-option.

    W poniższych krokach opisano jeden ze sposobów zmiany ustawienia. Aby wykonać kroki, musisz zalogować się do konta administratora na komputerze Mac.

    1. Potwierdź lokalizację pliku sshd_config , uruchamiając polecenie ls /etc/ssh/sshd_config i ls /etc/sshd_config w wierszu polecenia terminalu. W przypadku wszystkich pozostałych kroków pamiętaj, aby użyć lokalizacji, która nie zwraca "Brak takiego pliku lub katalogu".

      Running ls /etc/ssh/sshd_config and ls /etc/sshd_config in the Terminal

    2. Uruchom polecenie cp /etc/ssh/sshd_config "$HOME/Desktop/" w terminalu, aby skopiować plik na pulpit.

    3. Otwórz plik z programu Desktop w edytorze tekstów. Na przykład można uruchomić polecenie open -a TextEdit "$HOME/Desktop/sshd_config" w terminalu.

    4. Dodaj następujący wiersz w dolnej części pliku:

      UseDNS no
      
    5. Usuń wszystkie wiersze, które mówią UseDNS yes , aby upewnić się, że nowe ustawienie zostanie zastosowane.

    6. Zapisz plik.

    7. Uruchom polecenie sudo cp "$HOME/Desktop/sshd_config" /etc/ssh/sshd_config w terminalu, aby skopiować edytowany plik z powrotem do miejsca. Wprowadź hasło, jeśli zostanie wyświetlony monit.

    8. Wyłącz i ponownie włącz logowanie zdalne w obszarze Preferencje > systemowe Udostępnianie > logowania zdalnego, aby ponownie uruchomić serwer SSH.

Czyszczenie agentów brokera, IDB, kompilacji i Projektant agentów na komputerze Mac

Jeśli pliki dziennika pokazują problem podczas "instalowania", "Przekazywanie" lub "Uruchamianie" dla dowolnego agenta mac, możesz spróbować usunąć folder pamięci podręcznej XMA , aby wymusić ponowne przekazanie ich w programie Visual Studio.

  1. Uruchom następujące polecenie w terminalu na komputerze Mac:

    open "$HOME/Library/Caches/Xamarin"
    
  2. Kliknij prawym przyciskiem myszy folder XMA i wybierz pozycję Przenieś do kosza:

    Move the XMA folder to Trash

  3. W systemie Windows istnieje również pamięć podręczna, która może pomóc w wyczyszceniu. Otwórz wiersz polecenia jako Administracja istrator w systemie Windows:

    del %localappdata%\Temp\Xamarin\XMA
    

Komunikaty ostrzegawcze

W tej sekcji omówiono kilka komunikatów, które mogą być wyświetlane w oknach Dane wyjściowe i dzienniki, które zwykle można zignorować.

"Istnieje niezgodność między zainstalowanym środowiskiem Xamarin.iOS ... i lokalne środowisko Xamarin.iOS"

Jeśli potwierdzisz, że zarówno komputery Mac, jak i Windows są aktualizowane do tego samego kanału dystrybucji platformy Xamarin, to ostrzeżenie jest ignorowane.

"Nie można wykonać polecenia "ls /usr/bin/mono": ExitStatus=1"

Ten komunikat jest ignorowany, o ile komputer Mac korzysta z systemu OS X 10.11 (El Capitan) lub nowszego. Ten komunikat nie jest problemem w systemie OS X 10.11, ponieważ platforma Xamarin sprawdza również /usr/local/bin/mono, co jest poprawną oczekiwaną lokalizacją mono w systemie OS X 10.11.

"Usługa Bonjour 'MacBuildHost' nie odpowiedziała przy użyciu adresu IP.

Ten komunikat jest ignorowany, chyba że okno dialogowe połączenia nie wyświetla adresu IP hosta kompilacji dla komputerów Mac. Jeśli w tym oknie dialogowym brakuje adresu IP, nadal możesz ręcznie dodać komputer Mac.

"Nieprawidłowy użytkownik z wersji 10.1.8.95" i "input_userauth_request: nieprawidłowy użytkownik [preauth]"

Jeśli spojrzysz na sshd.log, możesz zauważyć te komunikaty. Te komunikaty są częścią normalnego procesu połączenia. Są one wyświetlane, ponieważ platforma Xamarin używa nazwy użytkownika tymczasowo podczas pobierania odcisku palca SSH.

Okno danych wyjściowych i pliki dziennika

Jeśli program Visual Studio napotka błąd podczas nawiązywania połączenia z hostem kompilacji, istnieje 2 lokalizacje umożliwiające sprawdzenie dodatkowych komunikatów: okno Dane wyjściowe i pliki dziennika.

Okno wyniku

Okno Dane wyjściowe jest najlepszym miejscem do uruchomienia. Wyświetla komunikaty o głównych krokach połączeniach i błędach. Aby wyświetlić komunikaty platformy Xamarin w oknie Dane wyjściowe:

  1. Wybierz pozycję Wyświetl dane wyjściowe z menu lub kliknij kartę Dane wyjściowe>.
  2. Kliknij menu rozwijane Pokaż dane wyjściowe.
  3. Wybierz pozycję Xamarin.

Select Xamarin in the Output tab

Pliki dziennika

Jeśli okno Dane wyjściowe nie zawiera wystarczającej ilości informacji, aby zdiagnozować problem, pliki dziennika są następnym miejscem do wyszukania. Pliki dziennika zawierają dodatkowe komunikaty diagnostyczne, które nie są wyświetlane w oknie Dane wyjściowe. Aby wyświetlić pliki dziennika:

  1. Uruchom program Visual Studio.

    Ważne

    Pamiętaj, że dzienniki svclogów nie są domyślnie włączone. Aby uzyskać do nich dostęp, należy uruchomić program Visual Studio z pełnymi dziennikami zgodnie z wyjaśnieniem w przewodniku Dzienniki wersji. Aby uzyskać więcej informacji, zapoznaj się z blogiem Rozwiązywanie problemów z rozszerzeniami w dzienniku aktywności.

  2. Spróbuj nawiązać połączenie z hostem kompilacji.

  3. Gdy program Visual Studio osiągnie błąd połączenia, zbierz dzienniki z poziomu dzienników zip platformy >Xamarin>:

    Collect the logs from Help > Xamarin > Zip Logs

  4. Po otwarciu pliku .zip zostanie wyświetlona lista plików podobnych do poniższego przykładu. W przypadku błędów połączenia najważniejsze pliki to pliki *Ide.log i *Ide.svclog . Te pliki zawierają te same komunikaty w dwóch nieco różnych formatach. Plik svclog to XML i jest przydatny, jeśli chcesz przeglądać komunikaty. .log jest zwykły tekst i jest przydatny, jeśli chcesz filtrować komunikaty przy użyciu narzędzi wiersza polecenia.

    Aby przeglądać wszystkie komunikaty, wybierz i otwórz plik svclog :

    Select the svclog file

  5. Plik svclog zostanie otwarty w podglądzie śledzenia usługi firmy Microsoft. Możesz przeglądać komunikaty według wątku, aby wyświetlić powiązane grupy komunikatów. Aby przeglądać według wątku, najpierw wybierz kartę Graf , a następnie kliknij menu rozwijane Tryb układu i wybierz pozycję Wątek:

    Click the Layout Mode drop-down menu and select Thread

Pełne pliki dziennika

Jeśli normalne pliki dziennika nadal nie dostarczają wystarczających informacji do zdiagnozowania problemu, jedną z ostatnich technik, które należy spróbować, jest włączenie pełnego rejestrowania. Pełne dzienniki są również preferowane w raportach o błędach.

  1. Zamknij program Visual Studio.

  2. Uruchom wiersz polecenia dla deweloperów.

  3. Uruchom następujące polecenie w wierszu polecenia, aby uruchomić program Visual Studio z pełnym rejestrowaniem:

    devenv /log
    
  4. Spróbuj nawiązać połączenie z hostem kompilacji z poziomu programu Visual Studio.

  5. Gdy program Visual Studio osiągnie błąd połączenia, zbierz dzienniki z poziomu dzienników zip platformy >Xamarin>.

  6. Uruchom następujące polecenie w terminalu na komputerze Mac, aby skopiować wszystkie ostatnie komunikaty dziennika z serwera SSH do pliku na pulpicie:

    grep sshd /var/log/system.log > "$HOME/Desktop/sshd.log"
    

Jeśli te pełne pliki dziennika nie zapewniają wystarczającej ilości wskazówek, aby rozwiązać ten problem bezpośrednio, zgłoś nowy raport o błędach i dołącz zarówno plik .zip z kroku 5, jak i plik .log z kroku 6.

Rozwiązywanie problemów z automatyczną aprowizowaniem komputerów Mac

Pliki dziennika IDE

Jeśli wystąpią problemy podczas automatycznej aprowizacji komputerów Mac, zapoznaj się z dziennikami środowiska IDE programu Visual Studio 2017 przechowywanymi w folderze %LOCALAPPDATA%\Xamarin\Logs\15.0.

Rozwiązywanie problemów z błędami kompilacji i wdrażania

W tej sekcji opisano kilka problemów, które mogą wystąpić po pomyślnym połączeniu programu Visual Studio z hostem kompilacji.

"Nie można nawiązać połączenia z adresem='192.168.1.2:22' with User='macuser'"

Znane przyczyny:

  • Funkcja zabezpieczeń platformy Xamarin 4.1 — ten błąd wystąpi w przypadku obniżenia poziomu do platformy Xamarin 4.0 po użyciu platformy Xamarin 4.1 lub nowszej. W takim przypadku błąd będzie towarzyszyć dodatkowe ostrzeżenie "Klucz prywatny jest zaszyfrowany, ale hasło jest puste". Jest to celowa zmiana spowodowana nową funkcją zabezpieczeń na platformie Xamarin 4.1. Zalecana poprawka: Usuń id_rsa i id_rsa.pub z folderu %LOCALAPPDATA%\Xamarin\MonoTouch, a następnie ponownie nawiązuj połączenie z hostem kompilacji na komputerze Mac.

  • Ograniczenie zabezpieczeń protokołu SSH — jeśli do tego komunikatu dołączono dodatkowe ostrzeżenie "Nie można uwierzytelnić użytkownika przy użyciu istniejących kluczy SSH", najczęściej oznacza to, że jeden z plików lub katalogów w w pełni kwalifikowanej ścieżce $HOME/.ssh/authorized_keys na komputerze Mac ma włączone uprawnienia do zapisu dla innych lub członków grupy . Powszechna poprawka: uruchom chmod og-w "$HOME" polecenie w wierszu polecenia terminalu na komputerze Mac. Aby uzyskać szczegółowe informacje o tym, który plik lub katalog powoduje problem, uruchom polecenie grep sshd /var/log/system.log > "$HOME/Desktop/sshd.log" w terminalu, a następnie otwórz plik sshd.log z pulpitu i poszukaj pozycji "Odmowa uwierzytelniania: nieprawidłowa własność lub tryby".

Nie można załadować rozwiązań z udziału sieciowego

Rozwiązania będą kompilowane tylko wtedy, gdy znajdują się w lokalnym systemie plików systemu Windows lub na dysku mapowanym.

Rozwiązania zapisane w udziale sieciowym mogą zgłaszać błędy lub całkowicie odrzucać kompilację. Wszystkie pliki .sln używane w programie Visual Studio powinny być zapisywane w lokalnym systemie plików systemu Windows.

Z powodu tego problemu jest zgłaszany następujący błąd:

error : Building from a network share path is not supported at the moment. Please map a network drive to '\\SharedSources\HelloWorld\HelloWorld' or copy the source to a local directory.

Brak profilów aprowizacji lub błąd "Nie można utworzyć biblioteki tłuszczu"

Uruchom program Xcode na komputerze Mac i upewnij się, że konto dewelopera firmy Apple jest zarejestrowane, a profil dewelopera systemu iOS został pobrany:

Ensuring that the Apple developer account is logged in and the iOS Development Profile is downloaded

"Operacja gniazda została podjęta w celu uzyskania niemożliwej do osiągnięcia sieci"

Zgłoszone przyczyny:

  • Ulepszenie — ten błąd może zapobiec pomyślnym kompilacjom, gdy program Visual Studio używa adresu IPv6 w celu nawiązania połączenia z hostem kompilacji. (Połączenie hosta kompilacji nie obsługuje jeszcze adresów IPv6).

Nie można załadować wtyczki programu Visual Studio platformy Xamarin.iOS po ponownym zainstalowaniu kanału beta/alpha

Ten problem może wystąpić, gdy program Visual Studio nie może odświeżyć pamięci podręcznej składników MEF. Jeśli tak jest, zainstalowanie tego rozszerzenia programu Visual Studio może pomóc: https://visualstudiogallery.msdn.microsoft.com/22b94661-70c7-4a93-9ca3-8b6dd45f47cd

Spowoduje to wyczyszczenie pamięci podręcznej składników MEF programu Visual Studio, aby rozwiązać problemy z uszkodzeniem pamięci podręcznej.

Błędy spowodowane istniejącymi procesami hosta kompilacji na komputerze Mac

Procesy z poprzednich połączeń hosta kompilacji mogą czasami zakłócać zachowanie bieżącego aktywnego połączenia. Aby sprawdzić wszystkie istniejące procesy, zamknij program Visual Studio, a następnie uruchom następujące polecenia w terminalu na komputerze Mac:

ps -A | grep mono

Running commands in Terminal on the Mac

Aby zabić istniejące procesy, użyj następującego polecenia:

killall mono

Czyszczenie pamięci podręcznej kompilacji dla komputerów Mac

Jeśli rozwiązujesz problem z kompilacją i chcesz upewnić się, że zachowanie nie jest związane z żadnymi tymczasowymi plikami kompilacji przechowywanymi na komputerze Mac, możesz usunąć folder pamięci podręcznej kompilacji.

  1. Uruchom następujące polecenie w terminalu na komputerze Mac:

    open "$HOME/Library/Caches/Xamarin"
    
  2. Kliknij folder mtbs , a następnie wybierz pozycję Przenieś do kosza:

    Move the mtbs folder to Trash