Mam aplikację bezgłową opracowaną w języku C # dla Raspberry Pi 2 B.
Mogę dobrze debugować aplikację w studiu wizualnym. Mam kabel Ethernet podłączony bezpośrednio między stacją roboczą a płytką. Kiedy nawiguję w przeglądarce do: minwinpc:8080/AppXManager.htm
Na liście zainstalowanych aplikacji widzę program, który chcę. Próbowałem go usunąć, odbudować / ponownie wdrożyć w VS, a aplikacja wychodzi i wraca z listy; dlatego wiem, że jest to bieżąca wersja.
Problem polega na tym, że nie mogę go uruchomić do „Start” z internetowego interfejsu GUI. Wybieram moją aplikację, a następnie pojawia się następujący błąd:
Failed to start package BlinkyHeadlessCS-uwp_q8jk9dv1tcdg!App
Jak ustawić program blink, aby uruchamiał się z internetowego interfejsu użytkownika, a następnie, jak mogę uruchomić go automatycznie po uruchomieniu?
źródło
Odpowiedzi:
WOOO HOOO !!!!
OK, więc w końcu to dostałem ...
to działało dla mnie tylko przy wdrażaniu jednej (1) aplikacji Headless.
Krok 1: Otwórz program Powershell jako administrator
Krok 2: Podłącz do płyty za pomocą tego polecenia:
net start WinRM
... UWAGA Miałem kabel Ethernet bezpośrednio z laptopa do płyty Raspberry Pi 2. UWAGA, jeśli już korzystasz z VS, powie Ci, że już nawiązałeś połączenie ...Krok 3: w PowerShell, uruchom ten następny
Set-Item WSMan:\localhost\Client\TrustedHosts -Value minwinpc
... Zostawiłem domyślną nazwę dla mojego urządzenia. UWAGA po wyświetleniu monitu wpisz „Y”Krok 4:
Enter-PSSession -ComputerName minwinpc -Credential minwinpc\Administrator
... UWAGA Zostaniesz poproszony o hasło ... przy założeniu wartości domyślnej wpisz „p @ ssw0rd” - tak, z uwzględnieniem wielkości literKrok 5: poczekaj chwilę ... poważnie to potrwa chwilę ...
Krok 6: w programie PowerShell zobaczysz teraz nazwę urządzenia w wierszu polecenia - wpisz następujące polecenie:
IotStartup remove
Krok 7: w PowerShell ... wpisz:
IotStartup list
... z tego chcemy uzyskać nazwę bezgłowej aplikacji, którą chcesz domyślnie.Krok 8: w PowerShell ... wpisz:
IotStartup add headless <the-exact-full-name-of-the-headless-app-here>
step9: w PowerShell ... wpisz:
setbootoption headless
.... spowoduje to ponowne uruchomienie komputera, jeśli zakończy się powodzeniemstep10: w PowerShell ... wpisz:
shutdown /r /t 0
... spowoduje to natychmiastowe ponowne uruchomienie urządzenia- GOTOWE .... odtąd poczekaj, aż aplikacja się rozpocznie! Miałem prosty program LED i w końcu zaczął się sam po ponownym uruchomieniu.
źródło
Możesz dołączyć do swojej aplikacji z Visual Studio. (Tylko debugowanie, wydaje się, że wydanie nie działa)
Do not launch, but debug my code when it starts
Jeśli podczas debugowania aplikacja nie osiągnie punktu przerwania wyjątku, ale nadal pojawia się błąd, oznacza to, że coś jest zepsute. Może Twoja karta SD ma uszkodzone pliki? Wypróbuj inną kartę SD i świeżą instalację
Aplikacja autostartu
Możesz to zrobić za pośrednictwem WebGui Now
Lub możesz połączyć się z wierszem poleceń PowerShell IoT za pomocą SSH lub Powershell, myślę, że SSH jest łatwiejszy.
headed
(dla aplikacji korzystających z ekranu) lubheadless
(dla aplikacji bezgłowych) i appName, jeśli wcześniej wynik był pojedynczym elementem lub pełna dziwna nazwa zamiast poheader :
Polecenia:
i zresetować domyślną aplikację
Więcej opcji debugowania
Możesz także dołączyć do dowolnego zdalnego procesu bez otwierania żadnego projektu i po prostu klikając
Attach
przycisk odtwarzania. Ale to nie zadziała dobrze, jeśli ulegnie awarii podczas uruchamiania, ale może działać, jeśli aplikacja ulega awarii za każdym razem w określonej lokalizacji.Możesz zobaczyć zrzut awaryjny z WebGUI w obszarze Debugowanie, ale te pliki zrzutu są specyficzne dla jądra i mogą być bardzo uciążliwe przy debugowaniu. Nie obejmuje to żadnych komunikatów o błędach ani łatwego do zrozumienia zrzutu stosu. Więcej informacji tutaj , chociaż nie mogłem otworzyć żadnego
.dmp
pliku w programie Visual 2015, może dlatego, że jest to wydanie społeczności. Ale nawet mój Pro 2013 nie otworzy go.źródło