Oefening: publiceren voor frameworkafhankelijke implementatie

Voltooid

Frameworkafhankelijke implementaties zijn de standaardinstelling voor ASP.NET Core-apps. Wanneer u een frameworkafhankelijke app publiceert, worden alleen de bestanden en afhankelijkheden van uw app opgenomen in het implementatiepakket. De .NET-runtime is niet opgenomen. Op de doelcomputer moet de juiste versie van .NET Runtime zijn geïnstalleerd om de app uit te voeren.

Uw teamleider heeft u gevraagd om de app van uw team voor te bereiden op implementatie. Omdat de server waarop uw app wordt uitgevoerd, al de .NET-runtime is geïnstalleerd, kunt u de app publiceren als een frameworkafhankelijke implementatie. Dit vermindert de grootte van het implementatiepakket en maakt het eenvoudiger om de app te implementeren.

In deze oefening publiceert u een ASP.NET Core-app als een frameworkafhankelijke implementatie.

Een ASP.NET Core-app maken

U hebt een ASP.NET Core-app nodig om de rol van de app van uw team te spelen. We gaan een nieuwe ASP.NET Core-app maken met behulp van de C#Dev Kit-extensie in Visual Studio Code.

  1. Start Visual Studio Code.

  2. Druk op Ctrl+Shift+P om het opdrachtenpalet te openen.

  3. Zoek en selecteer .NET New Project.

  4. Zoek en selecteer ASP.NET Core Empty.

    Een schermopname van het opdrachtpalet met ASP.NET Core Empty geselecteerd.

  5. Selecteer of maak een map voor het nieuwe project.

  6. Geef de nieuwe app de naam MyWebApp.

  7. Selecteer Project maken om het project te maken.

De app uitvoeren

Test de app om ervoor te zorgen dat deze wordt uitgevoerd.

  1. Druk in Visual Studio Code op F5 om de app te bouwen en uit te voeren.

    1. Wanneer u hierom wordt gevraagd, selecteert u C# als het foutopsporingsprogramma.
    2. Wanneer u hierom wordt gevraagd, selecteert u C#: MyWebApp [Standaardconfiguratie] als de startconfiguratie die u wilt gebruiken.

    Met deze opdracht wordt de app gestart en gehost op een lokale webserver. Er wordt een browservenster geopend en wordt 'Hallo, wereld!' weergegeven.

  2. Sluit het browservenster en stop de app door in Visual Studio Code op Shift+F5 te drukken.

De app publiceren als een frameworkafhankelijke implementatie

Nu u hebt gecontroleerd of de app correct wordt uitgevoerd, kunt u deze publiceren als een frameworkafhankelijke implementatie.

  1. Druk in Visual Studio Code op Ctrl+' om het terminalvenster te openen.

  2. Navigeer naar de map MyWebApp .

    cd MyWebApp
    
  3. Voer de volgende opdracht uit om de app te publiceren:

    dotnet publish -c Release -o publish-fd    
    

    In de voorgaande opdracht:

    • -c Release geeft aan dat de app moet worden ingebouwd in de releasemodus. Hierdoor wordt de app geoptimaliseerd voor prestaties.
    • -o hiermee geeft u de naam van de uitvoermap. In dit geval krijgt de uitvoermap de naam publish-fd.

    Met deze opdracht publiceert u de app als een framework-afhankelijke implementatie in de map publish-fd.

  4. Vouw in het Visual Studio Code Explorer-venster de inhoud van de map MyWebApp/publish-fd uit en bekijk de lijst met bestanden. De map bevat de bestanden en afhankelijkheden van de app, maar niet de .NET-runtime- of broncodebestanden. Enkele van de opgenomen bestanden en mappen zijn:

    • MyWebApp.dll'**: de gecompileerde app.
    • Andere MyWebApp. -bestanden: Aanvullende bestanden die nodig zijn om de app uit te voeren.
    • appsettings.json: het configuratiebestand voor de app.
    • web.config: het configuratiebestand voor IIS (Internet Information Services) in Windows.
    • wwwroot: Deze map bevat gepubliceerde statische webassets, zoals HTML-, CSS- en JavaScript-bestanden. Deze map wordt niet gegenereerd als het project geen statische webassets bevat, dus deze is niet aanwezig in dit geval.
  5. Navigeer naar de directory publish-fd en voer de app uit.

    cd publish-fd
    dotnet MyWebApp.dll
    

    Met deze opdracht wordt de gepubliceerde app gestart en gehost in Kestrel. Webbrowsers die verbinding maken met de app, zien dezelfde standaard welkomstpagina ASP.NET Core.

  6. Sluit de webbrowser en stop de app door op Ctrl+C in het terminalvenster te drukken.