Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Deze zelfstudie laat zien hoe u een console-app publiceert, zodat andere gebruikers deze kunnen uitvoeren. Publiceren maakt de set bestanden die nodig zijn om een toepassing uit te voeren. Als u de bestanden wilt implementeren, kopieert u deze naar de doelcomputer.
De .NET CLI wordt gebruikt om de app te publiceren.
Voorwaarden
- Deze zelfstudie werkt met de console-app die u maakt in Een .NET-consoletoepassing maken met behulp van Visual Studio Code.
De app publiceren
Visual Studio Code starten.
Open de projectmap HelloWorld die u hebt gemaakt in Een .NET-consoletoepassing maken met behulp van Visual Studio Code.
Kies View>Terminal uit het hoofdmenu.
De terminal wordt geopend in de map HelloWorld.
Voer de volgende opdracht uit:
dotnet publishDe standaard buildconfiguratie is Release-, die geschikt is voor een geïmplementeerde site die in productie wordt uitgevoerd. De uitvoer van de buildconfiguratie van de release bevat minimale symbolische foutopsporingsgegevens en is volledig geoptimaliseerd.
De uitvoer van de opdracht is vergelijkbaar met het volgende voorbeeld:
Restore complete (1.1s) HelloWorld net10.0 succeeded (7.8s) → bin\Release\net10.0\publish\ Build succeeded in 10.3s
Open uw GitHub Codespace die u hebt gemaakt in Een .NET-consoletoepassing maken met behulp van Visual Studio Code.
Voeg de volgende regel code toe aan het begin van HelloWorld.cs:
#:property PublishAot=falseDeze eigenschapsrichtlijn schakelt systeemeigen AOT-compilatie (vooraf) uit en de app gebruikt de standaard JIT-compiler (Just-In-Time) tijdens runtime. De gepubliceerde uitvoer is frameworkafhankelijk.
Controleer in de terminal of u zich in de map zelfstudies bevindt.
Voer de volgende opdracht uit:
dotnet publish HelloWorld.csMet de opdracht wordt een onafhankelijk uitvoerbaar bestand gemaakt.
De uitvoer van de opdracht is vergelijkbaar met het volgende voorbeeld:
Restore complete (0.5s) HelloWorld net10.0 succeeded (4.0s) → artifacts\HelloWorld\ Build succeeded in 5.1s
De bestanden controleren
Het publicatieproces maakt standaard een frameworkafhankelijke implementatie. Dit is een type implementatie waarin de gepubliceerde toepassing wordt uitgevoerd op een computer waarop de .NET-runtime is geïnstalleerd. Als u de gepubliceerde app wilt uitvoeren, kunt u het uitvoerbare bestand gebruiken of de opdracht dotnet HelloWorld.dll uitvoeren vanaf een opdrachtprompt.
In de volgende stappen bekijkt u de bestanden die zijn gemaakt door het publicatieproces.
Selecteer de Explorer in de linkernavigatiebalk.
Vouw bin/Release/net10.0/publish uit.
Zoals in de afbeelding wordt weergegeven, bevat de gepubliceerde uitvoer de volgende bestanden:
HelloWorld.deps.json
Dit is het runtime-afhankelijkhedenbestand van de toepassing. Hiermee worden de .NET-onderdelen en de bibliotheken (inclusief de dynamische koppelingsbibliotheek die uw toepassing bevat) gedefinieerd die nodig zijn om de app uit te voeren. Zie Runtime-configuratiebestandenvoor meer informatie.
HelloWorld.dll
Dit is de frameworkafhankelijke implementatie versie van de toepassing. Als u deze dynamische koppelingsbibliotheek wilt uitvoeren, voert u
dotnet HelloWorld.dllin bij een opdrachtprompt. Deze methode voor het uitvoeren van de app werkt op elk platform waarop de .NET-runtime is geïnstalleerd.HelloWorld.exe (HelloWorld op Linux of macOS.)
Dit is de uitvoerbare versie die afhankelijk is van framework
van de toepassing. Het bestand is besturingssysteemspecifiek. HelloWorld.pdb- (optioneel voor implementatie)
Dit is het bestand met symbolen voor foutopsporing. U hoeft dit bestand niet samen met uw toepassing te implementeren, hoewel u het moet opslaan in het geval dat u fouten moet opsporen in de gepubliceerde versie van uw toepassing.
HelloWorld.runtimeconfig.json
Dit is het runtimeconfiguratiebestand van de toepassing. Hiermee wordt de versie van .NET geïdentificeerd waarop uw toepassing is gebouwd om op uit te voeren. U kunt er ook configuratieopties aan toevoegen. Zie .NET Runtime-configuratie-instellingenvoor meer informatie.
Voor een toepassing met één bestand maakt het publicatieproces een map met artefacten met een gecompileerd assemblybestand. De gepubliceerde toepassing kan worden uitgevoerd met behulp van de dotnet opdracht.
In de volgende stappen bekijkt u de bestanden die zijn gemaakt door het publicatieproces.
Selecteer de Explorer in de linkernavigatiebalk.
Vouw artefacten/HelloWorld uit.
Zoals in de afbeelding wordt weergegeven, bevat de gepubliceerde uitvoer de volgende bestanden:
Helloworld
Dit is de uitvoerbare versie die afhankelijk is van framework
van de toepassing. Het bestand is besturingssysteemspecifiek. Codespaces wordt uitgevoerd op Linux, dus dit is een uitvoerbaar Linux-bestand. HelloWorld.deps.json
Dit is het runtime-afhankelijkhedenbestand van de toepassing. Hiermee worden de .NET-onderdelen en de bibliotheken (inclusief de dynamische koppelingsbibliotheek die uw toepassing bevat) gedefinieerd die nodig zijn om de app uit te voeren. Zie Runtime-configuratiebestandenvoor meer informatie.
HelloWorld.dll
Dit is de frameworkafhankelijke implementatie versie van de toepassing. Als u deze dynamische koppelingsbibliotheek wilt uitvoeren, voert u
dotnet HelloWorld.dllin bij een opdrachtprompt. Deze methode voor het uitvoeren van de app werkt op elk platform waarop de .NET-runtime is geïnstalleerd.HelloWorld.pdb- (optioneel voor implementatie)
Dit is het bestand met symbolen voor foutopsporing. U hoeft dit bestand niet samen met uw toepassing te implementeren, hoewel u het moet opslaan in het geval dat u fouten moet opsporen in de gepubliceerde versie van uw toepassing.
HelloWorld.runtimeconfig.json
Dit is het runtimeconfiguratiebestand van de toepassing. Hiermee wordt de versie van .NET geïdentificeerd waarop uw toepassing is gebouwd om op uit te voeren. U kunt er ook configuratieopties aan toevoegen. Zie .NET Runtime-configuratie-instellingenvoor meer informatie.
Klik met de rechtermuisknop en selecteer Downloaden... om bestanden van Codespaces naar uw lokale computer te downloaden.
De gepubliceerde app uitvoeren
Klik in Explorermet de rechtermuisknop op de map publiceren (Ctrl--klik op macOS) en selecteer Openen in geïntegreerde terminal.
Voer in Windows of Linux de app uit met behulp van het uitvoerbare bestand.
Voer in Windows
.\HelloWorld.exein en druk op Enter-.Voer in Linux
./HelloWorldin en druk op Enter-.Voer een naam in als reactie op de prompt en druk op Enter- om af te sluiten.
Voer op elk platform de app uit met behulp van de opdracht
dotnet:Voer
dotnet HelloWorld.dllin en druk op Enter-.Voer een naam in als reactie op de prompt en druk op Enter- om af te sluiten.
Klik in Explorer met de rechtermuisknop op de map artefacten/HelloWorld en selecteer Openen in geïntegreerde terminal.
Voer de app uit met behulp van het uitvoerbare bestand. Enter
./HelloWorlden druk op Enter.Voer een naam in als reactie op de prompt en druk op Enter- om af te sluiten.
Aanvullende informatiebronnen
- Overzicht van .NET-toepassingspublicatie
dotnet publish- .NET SDK gebruiken in CI-omgevingen (continue integratie)
Middelen opschonen
GitHub verwijdert uw Codespace automatisch na 30 dagen inactiviteit. Als u van plan bent om meer tutorials uit deze serie te volgen, kunt u uw Codespace geconfigureerd laten. Als u klaar bent om naar de .NET-site te gaan om de .NET SDK te downloaden, kunt u uw Codespace verwijderen. Als u uw Codespace wilt verwijderen, opent u een browservenster en gaat u naar uw Codespaces. U ziet een lijst met uw codespaces in het venster. Selecteer de drie puntjes (...) in de vermelding voor de zelfstudiecoderuimte. Selecteer vervolgens Verwijderen.
Volgende stappen
In deze handleiding hebt u een console-app uitgebracht. In de volgende tutorial maakt u een klassebibliotheek.