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.
Prerequisiti
- Questa esercitazione funziona con l'app console creata in Creare un'applicazione console .NET.
Pubblicazione dell'app
Avviare Visual Studio.
Aprire il progetto HelloWorld creato in Creare un'applicazione console .NET.
Assicurarsi che Visual Studio stia usando la configurazione della build di rilascio. Se necessario, modificare l'impostazione di configurazione della compilazione sulla barra degli strumenti da Debug a Release.
Fare clic con il pulsante destro del mouse sul progetto HelloWorld (non sulla soluzione HelloWorld) e scegliere Pubblica dal menu.
Nella scheda Destinazione della pagina Pubblica selezionare Cartellae quindi selezionare Avanti.
Nella scheda Destinazione specifica della pagina Pubblica, selezionare Cartellae quindi selezionare Avanti.
Nella scheda Percorso della pagina Pubblica selezionare Fine.
Nella pagina stato di creazione del profilo di pubblicazione, selezionare Chiudi.
Nella scheda Pubblica della finestra Pubblica, selezionare Pubblica.
Avvia Visual Studio Code.
Aprire la cartella di progetto HelloWorld creata in Creare un'applicazione console .NET.
Scegliere Visualizzaterminale 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 il GitHub Codespace creato in Creare un'applicazione console .NET.
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
Esamina 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. Gli utenti possono eseguire l'app pubblicata facendo doppio clic sul file eseguibile o eseguendo il comando da un prompt dei comandi.
Nei passaggi seguenti verranno esaminati i file creati dal processo di pubblicazione.
In Esplora soluzioni selezionare Show All Files.
Nella cartella del progetto espandere bin/Release/{net}/publish. Dove {net} è la cartella del framework di destinazione, ad esempio net10.0.
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 ulteriori informazioni, consultare File di configurazione di esecuzione.
HelloWorld.dll
Questa è la versione dell'applicazione dipendente dal framework. Per eseguire questa libreria di collegamento dinamico, immettere al prompt dei comandi. Questo metodo di esecuzione dell'app funziona su qualsiasi piattaforma in cui sia installato il runtime .NET.
HelloWorld.exe
Si tratta della versione dell'applicazione eseguibile dipendente dal framework . Per eseguirlo, inserire al prompt dei comandi. 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 .NET impostazioni di configurazione del runtime.
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 comando da un prompt dei comandi.
Nei passaggi seguenti verranno esaminati i file creati dal processo di pubblicazione.
Selezionare l'Esploratore nella barra di navigazione a sinistra.
Espandere bin/Release/net10.0/publish.
Esplora file mostra i file pubblicati
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 ulteriori informazioni, consultare File di configurazione di esecuzione.
HelloWorld.dll
Questa è la versione dell'applicazione dipendente dal framework. Per eseguire questa libreria di collegamenti dinamici, inserire un comando al prompt dei comandi. Questo metodo di esecuzione dell'app funziona su qualsiasi piattaforma in cui sia installato il runtime .NET.
HelloWorld.exe (HelloWorld in Linux o macOS).
Si tratta della versione dell'applicazione eseguibile dipendente dal framework . 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 .NET impostazioni di configurazione del runtime.
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 comando .
Nei passaggi seguenti verranno esaminati i file creati dal processo di pubblicazione.
Selezionare Esplora nella barra di navigazione a sinistra.
Espandi artifacts/HelloWorld.
Esplora risorse che mostra i file pubblicati
Come illustrato nell'immagine, l'output pubblicato include i file seguenti:
Helloworld
Si tratta della versione dell'applicazione eseguibile dipendente dal framework . 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 ulteriori informazioni, consultare File di configurazione di esecuzione.
HelloWorld.dll
Questa è la versione dell'applicazione dipendente dal framework. Per eseguire questa libreria di collegamenti dinamici, immettere al prompt dei comandi. Questo metodo di esecuzione dell'app funziona su qualsiasi piattaforma in cui sia 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 .NET impostazioni di configurazione del runtime.
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 soluzioni fare clic con il pulsante destro del mouse sulla cartella publish e selezionare Copy Full Path.
Aprire un prompt dei comandi e navigare alla cartella publish. Per fare ciò, immettere e quindi incollare il percorso completo. Per esempio:
cd C:\Projects\HelloWorld\bin\Release\net10.0\publish\Avvia l'app utilizzando il file eseguibile:
Immettere e premere INVIO.
Inserisci un nome in risposta al prompt e premi un tasto qualsiasi per uscire.
Eseguire l'app usando il comando :
Immettere e premere INVIO.
Inserisci un nome in risposta al prompt e premi un tasto qualsiasi per uscire.
In Esplora risorse fare clic con il pulsante destro del mouse sulla cartella publish (CTRL+clic su macOS) e scegliere Apri nel terminale integrato.
Menu contestuale che mostra Apri nel terminale
In Windows o Linux eseguire l'app usando l'eseguibile.
In Windows immettere
.\HelloWorld.exee premere Invio.In Linux immettere e premere INVIO.
Immettere un nome in risposta al prompt e premere INVIO per uscire.
In qualsiasi piattaforma eseguire l'app usando il comando :
Immettere e 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 e 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 per 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 "Elimina".
Passaggi successivi
In questa esercitazione, hai pubblicato un'app console. Nella prossima esercitazione, creerai una libreria di classi.