ARM tek kartlı bilgisayarlarda .NET uygulamaları dağıtma

.NET uygulamalarının tek kartlı bilgisayarlara dağıtımı diğer platformlarla aynıdır. Uygulamanız bağımsız veya çerçeveye bağımlı dağıtım modları olarak çalıştırılabilir. Her stratejinin avantajları vardır. Daha fazla bilgi için bkz . .NET uygulama yayımlamaya genel bakış.

Çerçeveye bağımlı uygulama dağıtma

Animated GIF showing a diagram of framework-dependent deployment. The SDK creates the assemblies, which require the .NET runtime on the target device.

Uygulamanızı çerçeveye bağımlı bir uygulama olarak dağıtmak için aşağıdaki adımları tamamlayın:

  1. Cihazınızda SSH'nin etkinleştirildiğinden emin olun. Raspberry Pi için Raspberry Pi belgelerinde SSH Sunucusu Ayarlama bölümüne bakın.

  2. dotnet-install betiklerini kullanarak cihaza .NET yükleyin. Cihazdaki bir Bash isteminden (yerel veya SSH) aşağıdaki adımları tamamlayın:

    1. .NET'i yüklemek için aşağıdaki komutu çalıştırın:

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

      Not

      Bu, en son sürümü yükler. Belirli bir sürüme ihtiyacınız varsa parametresini --channel STS ile --version <VERSION>değiştirin. Burada <VERSION> , belirli bir derleme sürümüdür.

    2. Yol çözümlemesini basitleştirmek için bir DOTNET_ROOT ortam değişkeni ekleyin ve aşağıdaki komutlarla .dotnet dizinini $PATH ekleyin:

      echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
      echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc
      source ~/.bashrc
      
    3. Aşağıdaki komutla .NET yüklemesini doğrulayın:

      dotnet --version
      

      Görüntülenen sürümün yüklediğiniz sürümle eşleştiğinden emin olun.

  3. Geliştirme ortamına bağlı olarak uygulamayı geliştirme bilgisayarında aşağıdaki gibi yayımlayın.

    • Visual Studio kullanıyorsanız, uygulamayı yerel bir klasöre dağıtın. Yayımlamadan önce yayımlama profili özetinde Düzenle'yi seçin ve Ayarlar sekmesini seçin. Dağıtım modununÇerçeveye bağımlı ve Hedef çalışma zamanınınTaşınabilir olarak ayarlandığından emin olun.
    • .NET CLI kullanıyorsanız dotnet publish komutunu kullanın. Ek bağımsız değişken gerekmez.
  4. gibi scpbir SFTP istemcisi kullanarak, geliştirme bilgisayarındaki yayımlama konumundaki dosyaları SBC'de yeni bir klasöre kopyalayın.

    Örneğin, geliştirme bilgisayarından scp SBC'nize dosya kopyalamak için komutunu kullanmak için bir komut istemi açın ve aşağıdakileri yürütun:

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

    Where:

    • seçeneği -r , dosyaların özyinelemeli olarak kopyalanmasını sağlar scp .
    • /publish-location/ önceki adımda yayımladığınız klasördür.
    • pi@raspberypi biçimindeki <username>@<hostname>kullanıcı ve konak adlarıdır.
    • /home/pi/deployment-location/ SBC'de yeni klasördür.

    İpucu

    Windows'un son sürümlerinde, önceden yüklenmiş olan scpOpenSSH bulunur.

  5. Raspberry Pi'de (yerel veya SSH) bash isteminden uygulamayı çalıştırın. Bunu yapmak için dağıtım klasörünü geçerli dizin olarak ayarlayın ve aşağıdaki komutu çalıştırın (burada HelloWorld.dll uygulamanın giriş noktasıdır):

    dotnet HelloWorld.dll
    

Bağımsız uygulama dağıtma

Animated GIF showing a diagram of self-contained deployment. The SDK creates the assemblies bundled with the .NET runtime. Consequently, there are no dependencies required on the target device.

Uygulamanızı bağımsız bir uygulama olarak dağıtmak için aşağıdaki adımları tamamlayın:

  1. Cihazınızda SSH'nin etkinleştirildiğinden emin olun. Raspberry Pi için Raspberry Pi belgelerinde SSH Sunucusu Ayarlama bölümüne bakın.

  2. Geliştirme ortamına bağlı olarak uygulamayı geliştirme bilgisayarında aşağıdaki gibi yayımlayın.

    • Visual Studio kullanıyorsanız, uygulamayı yerel bir klasöre dağıtın. Yayımlamadan önce yayımlama profili özetinde Düzenle'yi seçin ve Ayarlar sekmesini seçin. Dağıtım modununKendi içinde ve Hedef çalışma zamanının linux-arm64 olarak ayarlandığından emin olun.

    • .NET CLI kullanıyorsanız ve --self-contained bağımsız değişkenleriyle --runtime linux-arm64 dotnet publish komutunu kullanın:

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

    Önemli

    32 bit işletim sistemi kullanıyorsanız çalışma zamanını hedeflemeniz linux-arm gerekir.

  3. gibi scpbir SFTP istemcisi kullanarak, geliştirme bilgisayarındaki yayımlama konumundaki dosyaları SBC'de yeni bir klasöre kopyalayın.

    Örneğin, geliştirme bilgisayarından scp SBC'nize dosya kopyalamak için komutunu kullanmak için bir komut istemi açın ve aşağıdakileri yürütun:

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

    Where:

    • seçeneği -r , dosyaların özyinelemeli olarak kopyalanmasını sağlar scp .
    • /publish-location/ önceki adımda yayımladığınız klasördür.
    • pi@raspberypi biçimindeki <username>@<hostname>kullanıcı ve konak adlarıdır.
    • /home/pi/deployment-location/ SBC'de yeni klasördür.

    İpucu

    Windows'un son sürümlerinde, önceden yüklenmiş olan scpOpenSSH bulunur.

  4. Cihazdaki bir Bash isteminden (yerel veya SSH) uygulamayı çalıştırın. Bunu yapmak için geçerli dizini dağıtım konumuna ayarlayın ve aşağıdaki adımları tamamlayın:

    1. Yürütülebilir yürütme izni verin (burada HelloWorld yürütülebilir dosya adıdır).

      chmod +x HelloWorld
      
    2. Yürütülebilir dosyayı çalıştırın.

      ./HelloWorld