Dela via


Självstudie: Publicera ett .NET-konsolprogram

Den här handledningen visar hur du publicerar en konsolapp så att andra användare kan köra den. Publicering skapar den uppsättning filer som behövs för att köra ett program. Om du vill distribuera filerna kopierar du dem till måldatorn.

Förutsättningar

Publicera appen

  1. Starta Visual Studio.

  2. Öppna projektet HelloWorld som du skapade i Skapa ett .NET konsolprogram.

  3. Kontrollera att Visual Studio använder Release build-konfigurationen. Om det behövs ändrar du konfigurationsinställningen för bygget i verktygsfältet från Felsökning till Version.

    Visual Studio-verktygsfältet med releaseversion vald.

  4. Högerklicka på HelloWorld-projektet (inte HelloWorld-lösningen) och välj Publicera på menyn.

    Visual Studio Publicera snabbmeny.

  5. På fliken Mål på sidan Publicera väljer du Mapp och sedan Nästa.

    Pick ett publiceringsmål i Visual Studio.

  6. På fliken Specifikt mål på sidan Publicera väljer du Mapp och sedan Nästa.

    Pick det specifika publiceringsmålet i Visual Studio.

  7. På fliken Plats på sidan Publicera väljer du Slutför.

    Fliken Plats för publicering i Visual Studio.

  8. På sidan Publicera förlopp för att skapa profil väljer du Stäng.

  9. På fliken Publicera i fönstret Publicera väljer du Publicera.

    Visual Studio Publish window.

  1. Starta Visual Studio Code.

  2. Öppna projektmappen HelloWorld som du skapade i Skapa ett .NET konsolprogram.

  3. Välj Visa>Terminal på huvudmenyn.

    Terminalen öppnas i mappen HelloWorld.

  4. Kör följande kommando:

    dotnet publish
    

    Standardkonfigurationen för bygget är Release, som är lämplig för en distribuerad webbplats som är i drift i produktion. Utdata från releasekonfigurationen har minimal symbolisk debuginformation och är fullt optimerad.

    Kommandoutdata liknar följande exempel:

    Restore complete (1.1s)
      HelloWorld net10.0 succeeded (7.8s) → bin\Release\net10.0\publish\
    
    Build succeeded in 10.3s
    
  1. Öppna ditt GitHub Codespace som du skapade i Skapa ett .NET-konsolprogram.

  2. Lägg till följande kodrad överst i HelloWorld.cs:

    #:property PublishAot=false
    

    Det här egenskapsdirektivet inaktiverar inbyggd AOT-kompilering (ahead-of-time), och appen kommer att använda standardkompilatorn JIT (just-in-time) vid körning. De publicerade utdata kommer att vara ramverksberoende.

  3. Kontrollera att du är i mappen tutorials i terminalen.

  4. Kör följande kommando:

    dotnet publish HelloWorld.cs
    

    Kommandot skapar en oberoende körbar fil.

    Kommandoutdata liknar följande exempel:

    Restore complete (0.5s)
      HelloWorld net10.0 succeeded (4.0s) → artifacts\HelloWorld\
    
    Build succeeded in 5.1s
    

Granska filerna

Som standard skapar publiceringsprocessen en ramverksberoende distribution, vilket är en typ av distribution där det publicerade programmet körs på en dator som har .NET körning installerad. Användare kan köra den publicerade appen genom att dubbelklicka på den körbara filen eller utfärda kommandot dotnet HelloWorld.dll från en kommandotolk.

I följande steg tittar du på de filer som skapats av publiceringsprocessen.

  1. I Solution Explorer väljer du Visa alla filer.

    Alternativet

  2. I projektmappen expanderar du bin/Release/{net}/publish. (Där {net} är målramverksmappen, till exempel net10.0.)

    Solution Explorer som visar publicerade filer.

    Som bilden visar innehåller de publicerade utdata följande filer:

    • HelloWorld.deps.json

      Det här är applikationens kör beroenden fil. Den definierar de .NET komponenterna och biblioteken (inklusive det dynamiska länkbiblioteket som innehåller ditt program) som behövs för att köra appen. Mer information finns i Körningskonfigurationsfiler.

    • HelloWorld.dll

      Det här är versionen av programmet som är ramverksberoende och använder distributionen . Om du vill köra det här dynamiska länkbiblioteket anger du dotnet HelloWorld.dll i en kommandotolk. Den här metoden för att köra appen fungerar på alla plattformar som har .NET runtime installerat.

    • HelloWorld.exe

      Det här är den ramverksberoende körbara versionen av programmet. Om du vill köra den anger du HelloWorld.exe i en kommandotolk. Filen är operativsystemspecifik.

    • HelloWorld.pdb (valfritt för distribution)

      Det här är filen med felsökningssymboler. Du behöver inte distribuera den här filen tillsammans med ditt program, men du bör spara den om du behöver felsöka den publicerade versionen av ditt program.

    • HelloWorld.runtimeconfig.json

      Det här är programmets körningskonfigurationsfil. Den identifierar versionen av .NET som ditt program har skapats för att köras på. Du kan också lägga till konfigurationsalternativ i den. För mer information, se .NET körningskonfigurationsinställningar.

Som standard skapar publiceringsprocessen en ramverksberoende distribution, vilket är en typ av distribution där det publicerade programmet körs på en dator som har .NET körning installerad. Om du vill köra den publicerade appen kan du använda den körbara filen eller köra kommandot dotnet HelloWorld.dll från en kommandotolk.

I följande steg tittar du på de filer som skapats av publiceringsprocessen.

  1. Välj Explorer i det vänstra navigeringsfältet.

  2. Expandera bin/Release/net10.0/publish.

    Explorer som visar publicerade filer

    Som bilden visar innehåller de publicerade utdata följande filer:

    • HelloWorld.deps.json

      Det här är applikationens kör beroenden fil. Den definierar de .NET komponenterna och biblioteken (inklusive det dynamiska länkbiblioteket som innehåller ditt program) som behövs för att köra appen. Mer information finns i Körningskonfigurationsfiler.

    • HelloWorld.dll

      Det här är versionen av programmet som är ramverksberoende och använder distributionen . Om du vill köra det här dynamiska länkbiblioteket anger du dotnet HelloWorld.dll i en kommandotolk. Den här metoden för att köra appen fungerar på alla plattformar som har .NET runtime installerat.

    • HelloWorld.exe (HelloWorld på Linux eller macOS.)

      Det här är den ramverksberoende körbara versionen av programmet. Filen är operativsystemspecifik.

    • HelloWorld.pdb (valfritt för distribution)

      Det här är filen med felsökningssymboler. Du behöver inte distribuera den här filen tillsammans med ditt program, men du bör spara den om du behöver felsöka den publicerade versionen av ditt program.

    • HelloWorld.runtimeconfig.json

      Det här är programmets körningskonfigurationsfil. Den identifierar versionen av .NET som ditt program har skapats för att köras på. Du kan också lägga till konfigurationsalternativ i den. Mer information finns i .NET runtime-konfigurationsinställningar.

För ett enfilsprogram skapar publiceringsprocessen en artefaktkatalog med en kompilerad sammansättningsfil. Det publicerade programmet kan köras med kommandot dotnet .

I följande steg tittar du på de filer som skapats av publiceringsprocessen.

  1. Välj Explorer i det vänstra navigeringsfältet.

  2. Expandera artefakt/HelloWorld.

    Explorer som visar publicerade filer

    Som bilden visar innehåller de publicerade utdata följande filer:

    • HelloWorld

      Det här är den ramverksberoende körbara versionen av programmet. Filen är operativsystemspecifik. Codespaces körs på Linux, så det här är en körbar Linux-fil.

    • HelloWorld.deps.json

      Det här är applikationens kör beroenden fil. Den definierar de .NET komponenterna och biblioteken (inklusive det dynamiska länkbiblioteket som innehåller ditt program) som behövs för att köra appen. Mer information finns i Körningskonfigurationsfiler.

    • HelloWorld.dll

      Det här är versionen av programmet som är ramverksberoende och använder distributionen . Om du vill köra det här dynamiska länkbiblioteket anger du dotnet HelloWorld.dll i en kommandotolk. Den här metoden för att köra appen fungerar på alla plattformar som har .NET runtime installerat.

    • HelloWorld.pdb (valfritt för distribution)

      Det här är filen med felsökningssymboler. Du behöver inte distribuera den här filen tillsammans med ditt program, men du bör spara den om du behöver felsöka den publicerade versionen av ditt program.

    • HelloWorld.runtimeconfig.json

      Det här är programmets körningskonfigurationsfil. Den identifierar versionen av .NET som ditt program har skapats för att köras på. Du kan också lägga till konfigurationsalternativ i den. Mer information finns i .NET-körningsinställningar.

    Högerklicka och välj Ladda ned... för att ladda ned filer från Codespaces till din lokala dator.

Kör den publicerade appen

  1. I Solution Explorer högerklickar du på mappen publish och väljer Copy Full Path.

  2. Öppna en kommandotolk och gå till publiceringsmappen . Om du vill göra det anger du cd och klistrar sedan in den fullständiga sökvägen. Till exempel:

    cd C:\Projects\HelloWorld\bin\Release\net10.0\publish\
    
  3. Kör appen genom att använda den körbara filen:

    1. Ange HelloWorld.exe och tryck på Retur.

    2. Ange ett namn som svar på uppmaningen och tryck på valfri tangent för att avsluta.

  4. Kör appen med hjälp av kommandot dotnet:

    1. Ange dotnet HelloWorld.dll och tryck på Retur.

    2. Ange ett namn som svar på uppmaningen och tryck på valfri tangent för att avsluta.

  1. I Explorerhögerklickar du på mappen publicera (Ctrl- klicka på macOS) och välj Öppna i integrerad terminal.

    kontextmeny som visar Öppna i Terminal

  2. På Windows eller Linux kör du appen med hjälp av en körbar fil.

    1. På Windows anger du .\HelloWorld.exe och trycker på Enter.

    2. I Linux, skriv in ./HelloWorld och sedan tryck på Retur.

    3. Ange ett namn som svar på uppmaningen och tryck på Retur för att avsluta.

  3. Kör appen på valfri plattform med hjälp av kommandot dotnet:

    1. Ange dotnet HelloWorld.dll och tryck på Retur.

    2. Ange ett namn som svar på uppmaningen och tryck på Retur för att avsluta.

  1. Högerklicka på mappen artifacts/HelloWorld i Utforskaren och välj Öppna i integrerad terminal.

  2. Kör appen med hjälp av den körbara filen. Ange ./HelloWorld och tryck sedan på Retur.

  3. Ange ett namn som svar på uppmaningen och tryck på Retur för att avsluta.

Ytterligare resurser

Rensa resurser

GitHub tar automatiskt bort kodområdet efter 30 dagars inaktivitet. Om du planerar att utforska fler guider i denna serie kan du låta ditt Codespace vara aktivt. Om du är redo att besöka webbplatsen .NET för att ladda ned .NET SDK kan du ta bort ditt Codespace. Om du vill ta bort ditt Codespace öppnar du ett webbläsarfönster och navigerar till dina Codespaces. Du ser en lista över dina kodområden i fönstret. Välj de tre punkterna (...) i inlägget för handledningens kodområde. Välj sedan "Ta bort".

Nästa steg

I den här handledningen publicerade du en konsolapp. I nästa handledning skapar du ett klassbibliotek.