Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa esercitazione illustra come pubblicare un'app console in modo che altri utenti possano eseguirla. La pubblicazione crea il set di file necessari per eseguire un'applicazione. Per distribuire i file, copiarli nel computer di destinazione.
L'interfaccia della riga di comando di .NET viene usata per pubblicare l'app.
Prerequisiti
- Questa esercitazione funziona con l'app console creata in Creare un'applicazione console .NET con Visual Studio Code.
Pubblicazione dell'app
Avviare Visual Studio Code.
Aprire la cartella del progetto HelloWorld creata in Creare un'applicazione console .NET con Visual Studio Code.
Scegliere Visualizza>terminale dal menu principale.
Il terminale viene aperto nella cartella HelloWorld .
Esegui questo comando:
dotnet publishLa configurazione di compilazione predefinita è Release, appropriata per un sito distribuito in esecuzione nell'ambiente di produzione. L'output della configurazione della build di rilascio ha informazioni di debug simbolico minime ed è completamente ottimizzato.
L'output del comando è simile all'esempio seguente:
Restore complete (1.1s) HelloWorld net10.0 succeeded (7.8s) → bin\Release\net10.0\publish\ Build succeeded in 10.3s
Aprire GitHub Codespace creato in Creare un'applicazione console .NET con Visual Studio Code.
Aggiungere la riga di codice seguente all'inizio di HelloWorld.cs:
#:property PublishAot=falseQuesta direttiva di proprietà disabilita la compilazione AOT (Ahead-of-Time) nativa e l'app userà il compilatore JIT (Just-In-Time) standard in fase di esecuzione. L'output pubblicato sarà dipendente dal framework.
Nel terminale assicurarsi di essere nella cartella tutorials .
Esegui questo comando:
dotnet publish HelloWorld.csIl comando crea un eseguibile indipendente.
L'output del comando è simile all'esempio seguente:
Restore complete (0.5s) HelloWorld net10.0 succeeded (4.0s) → artifacts\HelloWorld\ Build succeeded in 5.1s
Esaminare i file
Per impostazione predefinita, il processo di pubblicazione crea una distribuzione dipendente dal framework, ovvero un tipo di distribuzione in cui l'applicazione pubblicata viene eseguita in un computer in cui è installato il runtime .NET. Per eseguire l'app pubblicata, è possibile usare il file eseguibile o eseguire il dotnet HelloWorld.dll comando da un prompt dei comandi.
Nei passaggi seguenti verranno esaminati i file creati dal processo di pubblicazione.
Selezionare Esplora risorse nella barra di spostamento a sinistra.
Espandere bin/Release/net10.0/publish.
Come illustrato nell'immagine, l'output pubblicato include i file seguenti:
HelloWorld.deps.json
Si tratta del file di dipendenze di runtime dell'applicazione. Definisce i componenti .NET e le librerie (inclusa la libreria di collegamento dinamico che contiene l'applicazione) necessarie per eseguire l'app. Per altre informazioni, vedere File di configurazione di runtime.
HelloWorld.dll
Si tratta della versione di distribuzione dipendente dal framework dell'applicazione. Per eseguire questa libreria di collegamenti dinamici, immettere
dotnet HelloWorld.dllal prompt dei comandi. Questo metodo di esecuzione dell'app funziona su qualsiasi piattaforma in cui è installato il runtime .NET.HelloWorld.exe (HelloWorld in Linux o macOS).
Si tratta della versione eseguibile dipendente dal framework dell'applicazione. Il file è specifico del sistema operativo.
HelloWorld.pdb (facoltativo per la distribuzione)
Si tratta del file dei simboli di debug. Non è necessario distribuire questo file insieme all'applicazione, anche se è necessario salvarlo nel caso in cui sia necessario eseguire il debug della versione pubblicata dell'applicazione.
HelloWorld.runtimeconfig.json
Si tratta del file di configurazione di runtime dell'applicazione. Identifica la versione di .NET in cui è stata compilata l'applicazione per l'esecuzione. È anche possibile aggiungere opzioni di configurazione. Per altre informazioni, vedere Impostazioni di configurazione del runtime .NET.
Per un'applicazione a file singolo, il processo di pubblicazione crea una cartella artifacts con un file assembly compilato. L'applicazione pubblicata può essere eseguita usando il dotnet comando .
Nei passaggi seguenti verranno esaminati i file creati dal processo di pubblicazione.
Selezionare Esplora risorse nella barra di spostamento a sinistra.
Espandi artifacts/HelloWorld.
Come illustrato nell'immagine, l'output pubblicato include i file seguenti:
Helloworld
Si tratta della versione eseguibile dipendente dal framework dell'applicazione. Il file è specifico del sistema operativo. Codespaces gira su Linux, quindi è un eseguibile Linux.
HelloWorld.deps.json
Si tratta del file di dipendenze di runtime dell'applicazione. Definisce i componenti .NET e le librerie (inclusa la libreria di collegamento dinamico che contiene l'applicazione) necessarie per eseguire l'app. Per altre informazioni, vedere File di configurazione di runtime.
HelloWorld.dll
Si tratta della versione di distribuzione dipendente dal framework dell'applicazione. Per eseguire questa libreria di collegamenti dinamici, immettere
dotnet HelloWorld.dllal prompt dei comandi. Questo metodo di esecuzione dell'app funziona su qualsiasi piattaforma in cui è installato il runtime .NET.HelloWorld.pdb (facoltativo per la distribuzione)
Si tratta del file dei simboli di debug. Non è necessario distribuire questo file insieme all'applicazione, anche se è necessario salvarlo nel caso in cui sia necessario eseguire il debug della versione pubblicata dell'applicazione.
HelloWorld.runtimeconfig.json
Si tratta del file di configurazione di runtime dell'applicazione. Identifica la versione di .NET in cui è stata compilata l'applicazione per l'esecuzione. È anche possibile aggiungere opzioni di configurazione. Per altre informazioni, vedere Impostazioni di configurazione del runtime .NET.
Fare clic con il pulsante destro del mouse e scegliere Scarica per scaricare i file da Codespaces nel computer locale.
Eseguire l'app pubblicata
In Esplora risorse fare clic con il pulsante destro del mouse sulla cartella publish (CTRL+clic su macOS) e scegliere Apri nel terminale integrato.
In Windows o Linux eseguire l'app usando l'eseguibile.
In Windows immettere
.\HelloWorld.exee premere INVIO.In Linux immettere
./HelloWorlde premere INVIO.Immettere un nome in risposta al prompt e premere INVIO per uscire.
In qualsiasi piattaforma eseguire l'app usando il
dotnetcomando :Immettere
dotnet HelloWorld.dlle premere INVIO.Immettere un nome in risposta al prompt e premere INVIO per uscire.
In Esplora risorse fare clic con il pulsante destro del mouse sulla cartella artefatti/HelloWorld e scegliere Apri nel terminale integrato.
Eseguire l'app usando l'eseguibile. Immettere
./HelloWorlde quindi premere INVIO.Immettere un nome in risposta al prompt e premere INVIO per uscire.
Risorse aggiuntive
- Panoramica della pubblicazione di applicazioni .NET
dotnet publish- Usare .NET SDK in ambienti di integrazione continua (CI)
Risorse di pulizia
GitHub elimina automaticamente codespace dopo 30 giorni di inattività. Se hai intenzione di esplorare altre esercitazioni in questa serie, puoi mantenere attivo il tuo Codespace. Se si è pronti a visitare il sito .NET per scaricare .NET SDK, è possibile eliminare codespace. Per eliminare Codespace, aprire una finestra del browser e passare a Codespaces. Nella finestra viene visualizzato un elenco degli spazi di codice. Selezionare i tre puntini (...) nella voce dello spazio di codice del tutorial Learn. Selezionare quindi "delete".
Passaggi successivi
In questa esercitazione è stata pubblicata un'app console. Nell'esercitazione successiva si crea una libreria di classi.