Udostępnij za pośrednictwem


Wdrażanie aplikacji platformy .NET na komputerach jednopłytkowych ARM

Wdrażanie aplikacji platformy .NET na komputerach jednowarstwowych jest identyczne z wdrożeniem dowolnej innej platformy. Twoje aplikacja może działać w trybie wdrożenia samodzielnym lub zależnym od platformy. Każda strategia ma zalety. Aby uzyskać więcej informacji, zobacz Omówienie publikowania aplikacji platformy .NET.

Wdrażanie aplikacji zależnej od platformy

Animowany plik GIF przedstawiający diagram wdrożenia zależnego od platformy. Zestaw SDK tworzy zestawy, które wymagają środowiska uruchomieniowego platformy .NET na urządzeniu docelowym.

Aby wdrożyć aplikację jako aplikację zależną od platformy, wykonaj następujące kroki:

  1. Upewnij się, że na twoim urządzeniu jest włączony SSH. Dla Raspberry Pi, zobacz Konfigurowanie serwera SSH w dokumentacji Raspberry Pi.

  2. Zainstaluj platformę .NET na urządzeniu przy użyciu skryptów dotnet-install. Wykonaj następujące kroki w wierszu poleceń Bash na urządzeniu (lokalnym lub przez SSH):

    1. Uruchom następujące polecenie, aby zainstalować platformę .NET:

      curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel STS
      

      Uwaga

      To polecenie instaluje najnowszą wersję. Jeśli potrzebujesz określonej wersji, zastąp --channel STS--version <VERSION>parametr parametrem , gdzie <VERSION> jest konkretną wersją kompilacji, na przykład 8.0.404. Aby uzyskać listę wersji, zobacz Zestawy SDK platformy .NET dla programu Visual Studio. Spójrz na kolumnę "Zestaw SDK programu Visual Studio 2022" w celu określenia pełnego numeru kompilacji.

    2. Aby uprościć rozpoznawanie ścieżek, dodaj zmienną DOTNET_ROOT środowiskową i dodaj katalog .dotnet do polecenia $PATH za pomocą następujących poleceń:

      echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
      echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc
      source ~/.bashrc
      
    3. Sprawdź instalację platformy .NET za pomocą następującego polecenia:

      dotnet --version
      

      Sprawdź, czy wyświetlona wersja jest zgodna z zainstalowaną wersją.

  3. Opublikuj aplikację na komputerze dewelopera w następujący sposób, w zależności od środowiska programistycznego.

    • W przypadku korzystania z programu Visual Studiowdróż aplikację w folderze lokalnym. Przed opublikowaniem wybierz pozycję Edytuj w podsumowaniu profilu publikowania i wybierz kartę Ustawienia . Upewnij się, że tryb wdrażania jest ustawiony na środowisko uruchomieniowe zależne od platformy , a dla środowiska uruchomieniowego docelowego ustawiono wartość Portable.
    • Jeśli używasz interfejsu wiersza polecenia platformy .NET, użyj polecenia dotnet publish . Nie są wymagane żadne dodatkowe argumenty.
  4. Za pomocą klienta SFTP, takiego jak scp, skopiuj pliki z lokalizacji publikowania na komputerze dewelopera do nowego folderu na SBC.

    Aby na przykład użyć scp polecenia , aby skopiować pliki z komputera deweloperskiego do SBC, otwórz wiersz polecenia i wykonaj następujące polecenie:

    scp -r /publish-location/* pi@raspberrypi:/home/pi/deployment-location/
    

    Gdzie:

    • Opcja -r instruuje scp kopiowanie plików rekursywnie.
    • /publish-location/ to folder opublikowany w poprzednim kroku.
    • pi@raspberrypi to nazwa użytkownika i hosta w formacie <username>@<hostname>.
    • /home/pi/deployment-location/ to nowy folder na SBC.

    Wskazówka

    Najnowsze wersje systemu Windows mają OpenSSH, który obejmuje scp, wstępnie zainstalowany.

  5. Na wierszu poleceń Bash na Raspberry Pi (lokalnie lub przez SSH) uruchom aplikację. W tym celu ustaw folder wdrożenia jako bieżący katalog i wykonaj następujące polecenie (gdzie HelloWorld.dll jest punktem wejścia aplikacji):

    dotnet HelloWorld.dll
    

Wdrażanie samodzielnej aplikacji

Animowany plik GIF przedstawiający diagram samodzielnego wdrażania. Zestaw SDK tworzy zestawy połączone ze środowiskiem uruchomieniowym platformy .NET. W związku z tym na urządzeniu docelowym nie są wymagane żadne zależności.

Aby wdrożyć aplikację jako aplikację samodzielną, wykonaj następujące kroki:

  1. Upewnij się, że na twoim urządzeniu jest włączony SSH. Dla Raspberry Pi, zobacz Konfigurowanie serwera SSH w dokumentacji Raspberry Pi.

  2. Opublikuj aplikację na komputerze dewelopera w następujący sposób, w zależności od środowiska programistycznego.

    • W przypadku korzystania z programu Visual Studiowdróż aplikację w folderze lokalnym. Przed opublikowaniem wybierz pozycję Edytuj w podsumowaniu profilu publikowania i wybierz kartę Ustawienia . Upewnij się, że w trybie wdrażania ustawiono wartość Self-contained ,a środowisko uruchomieniowe docelowe jest ustawione na linux-arm64.

    • Jeśli używasz interfejsu wiersza polecenia platformy .NET, użyj polecenia dotnet publish z --runtime linux-arm64 argumentami i --self-contained :

      dotnet publish --runtime linux-arm64 --self-contained
      

    Ważne

    Jeśli używasz 32-bitowego systemu operacyjnego, musisz ukierunkować na środowisko wykonawcze linux-arm.

  3. Za pomocą klienta SFTP, takiego jak scp, skopiuj pliki z lokalizacji publikowania na komputerze dewelopera do nowego folderu na SBC.

    Aby na przykład użyć scp polecenia , aby skopiować pliki z komputera deweloperskiego do SBC, otwórz wiersz polecenia i wykonaj następujące polecenie:

    scp -r /publish-location/* pi@raspberrypi:/home/pi/deployment-location/
    

    Gdzie:

    • Opcja -r instruuje scp kopiowanie plików rekursywnie.
    • /publish-location/ to folder opublikowany w poprzednim kroku.
    • pi@raspberrypi to nazwa użytkownika i hosta w formacie <username>@<hostname>.
    • /home/pi/deployment-location/ to nowy folder na SBC.

    Wskazówka

    Najnowsze wersje systemu Windows mają protokół OpenSSH, który jest wstępnie zainstalowany, obejmując scp.

  4. Na konsoli Bash na urządzeniu (lokalnym lub SSH) uruchom aplikację. Aby to zrobić, ustaw bieżący katalog na lokalizację wdrożenia i wykonaj następujące kroki:

    1. Nadaj plikowi wykonywalne uprawnienia (gdzie HelloWorld jest nazwą pliku wykonywalnego).

      chmod +x HelloWorld
      
    2. Uruchom plik wykonywalny.

      ./HelloWorld