Esercizio - Pubblicare per la distribuzione autonoma

Completato

Le distribuzioni autonome includono l'app e le relative dipendenze, nonché il runtime .NET. Poiché il runtime .NET è incluso nell'app, il computer di destinazione non deve avere installato il runtime .NET per eseguire l'app. In questo modo, le distribuzioni autonome superano le distribuzioni dipendenti dal framework. Le app autonome devono anche gestire la distribuzione degli aggiornamenti di runtime .NET per ricevere le patch più recenti.

Il reparto IT ha comunicato al team che, a scopo di ripristino di emergenza, sta testando l'app nei server in cui non è installato il runtime .NET. Intende testare l'app sia in un server Windows a 64 bit che in un server Linux a 64 bit. Per supportare questo test, è necessario pubblicare l'app come distribuzione autonoma per ogni ambiente.

In questo esercizio, viene pubblicata un'app ASP.NET Core come distribuzioni autonome per Windows e Linux.

Pubblicare come distribuzione autonoma

  1. Nella finestra del terminale passare alla directory MyWebApp . Al termine dell'esercizio precedente, si era in MyWebApp/publish-fd. È necessario tornare alla directory MyWebApp .

    cd ..
    

    Si dovrebbe ora trovarsi nella directory MyWebApp .

  2. Eseguire il comando seguente per pubblicare l'app come distribuzione autonoma per Windows a 64 bit:

    dotnet publish -c Release -r win-x64 -o publish-scd-win64 --self-contained
    

    Nel comando precedente:

    • -c Release specifica che l'app deve essere compilata in modalità di rilascio. In questo modo l'app viene ottimizzata per le prestazioni.
    • -r win-x64 specifica che l'app deve essere pubblicata per Windows a 64 bit. win-x64 è l'identificatore di runtime (RID) per Windows a 64 bit, quindi l'app viene pubblicata come distribuzione autonoma per Windows a 64 bit.
    • -o publish-scd-win64 specifica la directory di output per l'app pubblicata.
    • --self-contained specifica che l'app deve essere pubblicata come distribuzione autonoma.

    Questo comando compila e pubblica l'app come distribuzione autonoma per Windows a 64 bit nella directory MyWebApp/publish-scd-win64 .

  3. Rivedere il contenuto della directory MyWebApp/publish-scd-win64 nella finestra Explorer.

    L'elenco dei file in questa directory è notevolmente più grande dell'elenco di file nella directory publish-fd . Ciò è dovuto al fatto che la distribuzione autonoma include gli stessi file della distribuzione dipendente dal framework, oltre al runtime .NET. Il fileMyWebApp.exe è l'eseguibile di Windows 64-bit per l'app.

  4. Eseguire il comando seguente per pubblicare l'app come distribuzione autonoma per Linux a 64 bit:

    dotnet publish -c Release -r linux-x64 -o publish-scd-linux64 --self-contained
    

    Questa volta, l'opzione -r linux-x64 specifica che l'app deve essere pubblicata per Linux a 64 bit.

  5. Esaminare il contenuto della directory MyWebApp/publish-scd-linux64 nella finestra Explorer.

    L'elenco dei file nella directory publish-scd-linux64 è simile all'elenco di file nella directory publish-scd-win64 , ma il file eseguibile è denominato MyWebApp anziché MyWebApp.exe. Questo perché Linux non usa estensioni di file per determinare i tipi di file. Dopo aver distribuito l'app in un server Linux, è necessario concedere l'autorizzazione di esecuzione al file MyWebApp con il chmod +x comando prima che possa essere eseguito.