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.
Vereiste voorwaarden
- Deze zelfstudie werkt met de console-app die u maakt in Maak een .NET-consoletoepassing.
Publiceer de app.
Start Visual Studio.
Open het project HelloWorld dat u hebt gemaakt in Maak een .NET-consoletoepassing.
Zorg ervoor dat Visual Studio de buildconfiguratie van de release gebruikt. Indien nodig kunt u de buildconfiguratie-instelling op de werkbalk wijzigen van Foutopsporing naar Release.
Klik met de rechtermuisknop op het project HelloWorld (niet de HelloWorld-oplossing) en selecteer Publiceren in het menu.
Selecteer op het tabblad Doel van de pagina Publicerenmapen selecteer vervolgens Volgende.
Selecteer op het tabblad Specifiek doel van de pagina Publicerenmapen selecteer dan Volgende.
Selecteer op het tabblad Locatie van de pagina PublicerenVoltooien.
Selecteer Sluitenop de pagina voor voortgang van het aanmaken van een publicatieprofiel.
Op het tabblad Publiceren in het venster Publiceren, selecteer Publiceren.
Visual Studio Code starten.
Open de projectmap HelloWorld die u hebt gemaakt in Maak een .NET-consoletoepassing.
Kies ViewTerminal 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 Maak een .NET-consoletoepassing.
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. Gebruikers kunnen de gepubliceerde app uitvoeren door te dubbelklikken op het uitvoerbare bestand of de opdracht uit te geven vanaf een opdrachtprompt.
In de volgende stappen bekijkt u de bestanden die zijn gemaakt door het publicatieproces.
Selecteer in Solution Explorer Alle bestanden weergeven.
In de projectmap de map bin/Release/{net}/publish uitvouwen. (Waarbij {net} de map voor het doelframework is, zoals net10.0.)
Zoals in de afbeelding wordt weergegeven, bevat de gepubliceerde uitvoer de volgende bestanden:
HelloWorld.deps.json
Dit is het runtime-afhankelijkhedenbestand van de toepassing. Het definieert de .NET onderdelen en de bibliotheken (inclusief de dynamische koppelingsbibliotheek die uw toepassing bevat) 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 in bij een opdrachtprompt. Deze methode voor het uitvoeren van de app werkt op elk platform waarop de .NET runtime is geïnstalleerd.
HelloWorld.exe
Dit is de uitvoerbare versie die afhankelijk is van framework
van de toepassing. Voer in bij een opdrachtprompt om deze uit te voeren. 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 te worden uitgevoerd. U kunt er ook configuratieopties aan toevoegen. Zie .NET runtime-configuratie-instellingen voor meer informatie.
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 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.
Explorer met gepubliceerde bestanden
Zoals in de afbeelding wordt weergegeven, bevat de gepubliceerde uitvoer de volgende bestanden:
HelloWorld.deps.json
Dit is het runtime-afhankelijkhedenbestand van de toepassing. Het definieert de .NET onderdelen en de bibliotheken (inclusief de dynamische koppelingsbibliotheek die uw toepassing bevat) 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 in 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 te worden uitgevoerd. U kunt er ook configuratieopties aan toevoegen. Zie .NET runtime-configuratie-instellingen voor 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 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.
Explorer met gepubliceerde bestanden
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. Het definieert de .NET onderdelen en de bibliotheken (inclusief de dynamische koppelingsbibliotheek die uw toepassing bevat) 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 in 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 te worden uitgevoerd. U kunt er ook configuratieopties aan toevoegen. Zie .NET runtime-configuratie-instellingen voor 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 Solution Explorer met de rechtermuisknop op de map publish en selecteer Copy Full Path.
Open een opdrachtprompt en navigeer naar de publicatie map. Voer hiervoor in en plak het volledige pad. Voorbeeld:
cd C:\Projects\HelloWorld\bin\Release\net10.0\publish\Voer de app uit met behulp van het uitvoerbare bestand:
Voer in en druk op Enter-.
Voer een naam in als reactie op de prompt en druk op een willekeurige toets om af te sluiten.
Voer de app uit met behulp van de opdracht :
Voer in en druk op Enter-.
Voer een naam in als reactie op de prompt en druk op een willekeurige toets om af te sluiten.
Klik in Explorermet de rechtermuisknop op de map publiceren (Ctrl--klik op macOS) en selecteer Openen in geïntegreerde terminal.
contextmenu met Openen in Terminal
Voer op Windows of Linux de app uit met behulp van het uitvoerbare bestand.
Voer op Windows
.\HelloWorld.exein en druk op Enter.Voer in Linux in 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 :
Voer in 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 en druk op Enter.
Voer een naam in als reactie op de prompt en druk op Enter- om af te sluiten.
Aanvullende bronnen
- Overzicht van het publiceren van .NET-toepassingen
dotnet publish- Gebruik de .NET SDK in CI-omgevingen (continuous integration)
Middelen opschonen
GitHub uw Codespace automatisch verwijdert 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 de .NET-site te bezoeken 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.