Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln gäller för: ✔️ .NET 6 SDK och senare versioner
Name
              dotnet run – Kör källkod utan några explicita kompilerings- eller startkommandon.
Sammanfattning
dotnet run [<applicationArguments>]
  [-a|--arch <ARCHITECTURE>] [--artifacts-path <ARTIFACTS_DIR>]
  [-c|--configuration <CONFIGURATION>] [-e|--environment <KEY=VALUE>]
  [--file <FILE_PATH>] [-f|--framework <FRAMEWORK>] [--force] [--interactive]
  [--launch-profile <NAME>] [--no-build] [--no-dependencies]
  [--no-launch-profile] [--no-restore] [--os <OS>] [--project <PATH>]
  [-r|--runtime <RUNTIME_IDENTIFIER>] [--tl:[auto|on|off]]
  [-v|--verbosity <LEVEL>] [[--] [application arguments]]
dotnet run -h|--help
beskrivning
Kommandot dotnet run ger ett praktiskt alternativ för att köra programmet från källkoden med ett kommando. Det är användbart för snabb iterativ utveckling från kommandoraden. Kommandot är beroende av kommandot dotnet build för att skapa koden. Alla krav för bygget gäller även för dotnet run .
Kommentar
              dotnet run respekterar inte argument som /property:property=value, som respekteras av dotnet build.
Utdatafiler skrivs till standardplatsen, som är bin/<configuration>/<target>. Om du till exempel har ett netcoreapp2.1 program och kör dotnet runplaceras utdata i bin/Debug/netcoreapp2.1. Filer skrivs över efter behov. Temporära filer placeras i obj katalogen.
Om projektet anger flera ramverk resulterar körningen dotnet run i ett fel om inte -f|--framework <FRAMEWORK> alternativet används för att ange ramverket.
Kommandot dotnet run används i kontexten för projekt, inte i byggda sammansättningar. Om du försöker köra en ramverksberoende program-DLL i stället måste du använda dotnet utan kommando. Om du till exempel vill köra myapp.dllanvänder du:
dotnet myapp.dll
Mer information om drivrutinen finns i dotnet.NET CLI-översikt.
För att köra programmet dotnet run löser kommandot beroendena för programmet som ligger utanför den delade körningen från NuGet-cachen. Eftersom den använder cachelagrade beroenden rekommenderar vi inte att du använder dotnet run för att köra program i produktion. 
              Skapa i stället en distribution med kommandot dotnet publish och distribuera de publicerade utdata.
Implicit återställning
Du behöver inte köra dotnet restore eftersom den körs implicit av alla kommandon som kräver en återställning, till exempel dotnet new, dotnet build, dotnet run, dotnet test, dotnet publishoch dotnet pack. Om du vill inaktivera implicit återställning använder du alternativet --no-restore .
Kommandot dotnet restore är fortfarande användbart i vissa scenarier där det är meningsfullt att uttryckligen återställa, till exempel kontinuerliga integreringsversioner i Azure DevOps Services eller i byggsystem som uttryckligen behöver styra när återställningen sker.
Information om hur du hanterar NuGet-feeds finns i dokumentationendotnet restore.
Det här kommandot stöder alternativen dotnet restore när det skickas i det långa formuläret (till exempel --source). Korta formuläralternativ, till exempel -s, stöds inte.
Nedladdningar av arbetsbelastningsmanifest
När du kör det här kommandot initieras en asynkron bakgrundsnedladdning av annonseringsmanifest för arbetsbelastningar. Om nedladdningen fortfarande körs när det här kommandot är klart stoppas nedladdningen. Mer information finns i Annonseringsmanifest.
Arguments
<applicationArguments>
Argument som skickas till det program som körs.
Argument som inte känns igen av dotnet run skickas till programmet. Om du vill separera argument för dotnet run från argument för programmet använder du alternativet -- .
Alternativ
- --- Avgränsar argument till - dotnet runfrån argument för programmet som körs. Alla argument efter att den här avgränsare har skickats till programkörningen.
- -a|--arch <ARCHITECTURE>- Anger målarkitekturen. Det här är en kortsyntax för att ange Körtidsidentifierare (RID) där det angivna värdet kombineras med standard-RID. På en - win-x64dator anger du- --arch x86till exempel RID till- win-x86. Om du använder det här alternativet ska du inte använda alternativet- -r|--runtime. Tillgänglig sedan .NET 6 Förhandsversion 7.
- --artifacts-path <ARTIFACTS_DIR>- Alla build-utdatafiler från det körda kommandot kommer att gå i undermappar under den angivna sökvägen, avgränsade med projekt. Mer information finns i Artefaktutdatalayout. Tillgänglig sedan .NET 8 SDK. 
- -c|--configuration <CONFIGURATION>- Definierar byggkonfigurationen. Standardvärdet för de flesta projekt är - Debug, men du kan åsidosätta konfigurationsinställningarna för bygget i projektet.
- --disable-build-servers- Tvingar kommandot att ignorera alla beständiga byggservrar. Det här alternativet är ett konsekvent sätt att inaktivera all användning av cachelagring av versioner, vilket tvingar fram en version från grunden. En version som inte förlitar sig på cacheminnen är användbar när cacheminnena kan vara skadade eller felaktiga av någon anledning. Tillgänglig sedan .NET 7 SDK. 
- -e|--environment <KEY=VALUE>- Anger den angivna miljövariabeln i den process som ska köras av kommandot. Den angivna miljövariabeln tillämpas inte på - dotnet runprocessen.- Miljövariabler som skickas via det här alternativet har företräde framför miljövariabler, System.CommandLine-direktiv - envoch- environmentVariablesfrån den valda startprofilen. Mer information finns i Miljövariabler.- (Det här alternativet lades till i .NET SDK 9.0.200.) 
- -f|--framework <FRAMEWORK>- Skapar och kör appen med det angivna ramverket. Ramverket måste anges i projektfilen. 
- --file <FILE_PATH>- Sökvägen till den filbaserade app som ska köras. Om en sökväg inte har angetts används den aktuella katalogen för att hitta och köra filen. Mer information om filbaserade appar finns i Skapa filbaserade C#-appar. - I Unix kan du köra filbaserade appar direkt med hjälp av - dotnet runkällfilnamnet på kommandoraden i stället för . Kontrollera först att filen har körningsbehörigheter. Lägg sedan till en shebang-rad- #!som den första raden i filen, till exempel:- #!/usr/bin/env dotnet run- Sedan kan du köra filen direkt från kommandoraden: - ./ConsoleApp.cs- Introducerades i .NET SDK 10.0.100. 
- --force- Tvingar alla beroenden att lösas även om den senaste återställningen lyckades. Att ange den här flaggan är detsamma som att ta bort project.assets.json-filen. 
- --interactive- Tillåter att kommandot stoppar och väntar på användarens indata eller åtgärd. Till exempel för att slutföra autentiseringen. Tillgänglig sedan .NET Core 3.0 SDK. 
- --launch-profile <NAME>- Namnet på den startprofil (om någon) som ska användas när programmet startas. Startprofiler definieras i filen launchSettings.json och kallas - Developmentvanligtvis ,- Stagingoch- Production. Mer information finns i Arbeta med flera miljöer.
- --no-build- Skapar inte projektet innan det körs. Den anger - --no-restoreockså implicit flaggan.
- --no-cache- Hoppa över uppdaterade kontroller och skapa alltid programmet innan du kör det. 
- --no-dependencies- När du återställer ett projekt med P2P-referenser (project-to-project) återställer rotprojektet och inte referenserna. 
- --no-launch-profile- Försöker inte använda launchSettings.json för att konfigurera programmet. 
- --no-restore- Kör inte en implicit återställning när kommandot körs. 
- --no-self-contained- Publicera ditt program som ett ramverksberoende program. En kompatibel .NET-körning måste vara installerad på måldatorn för att köra programmet. 
- --os <OS>- Anger måloperativsystemet (OS). Det här är en kortsyntax för att ange Körtidsidentifierare (RID) där det angivna värdet kombineras med standard-RID. På en - win-x64dator anger du- --os linuxtill exempel RID till- linux-x64. Om du använder det här alternativet ska du inte använda alternativet- -r|--runtime. Tillgänglig sedan .NET 6.
- --project <PATH>- Anger sökvägen till projektfilen som ska köras (mappnamn eller fullständig sökväg). Om det inte anges används den aktuella katalogen som standard. - Förkortningen - -pför- --projectär inaktuell från och med .NET 6 SDK. Under en begränsad tid- -pkan fortfarande användas för- --projecttrots utfasningsvarningen. Om argumentet som anges för alternativet inte innehåller- =accepterar- -pkommandot som en förkortning för- --project. Annars förutsätter kommandot att det- -pär en förkortning för- --property. Den här flexibla användningen av- -pfor- --projectfasas ut i .NET 7.
- --property:<NAME>=<VALUE>- Anger en eller flera MSBuild-egenskaper. Ange flera egenskaper avgränsade med semikolon eller genom att upprepa alternativet: - --property:<NAME1>=<VALUE1>;<NAME2>=<VALUE2> --property:<NAME1>=<VALUE1> --property:<NAME2>=<VALUE2>- Det korta formuläret - -pkan användas för- --property. Om argumentet som anges för alternativet innehåller , accepteras- =- -psom en förkortning för- --property. Annars förutsätter kommandot att det- -pär en förkortning för- --project.- Om du vill skicka - --propertytill programmet i stället för att ange en MSBuild-egenskap anger du alternativet efter- --syntaxavgränsaren, till exempel:- dotnet run -- --property name=value
- -r|--runtime <RUNTIME_IDENTIFIER>- Anger den målkörning som paketen ska återställas för. En lista över Runtime-identifierare (RID) finns i RID-katalogen. 
- -sc|--self-contained- Publicerar .NET-körningen med ditt program så att körningen inte behöver installeras på målsystemet. Standardvärdet är - false. Men när du riktar in dig på .NET 7 eller lägre är- truestandardvärdet om en körningsidentifierare har angetts.
- --tl:[auto|on|off]- Anger om Terminal Logger ska användas för byggutdata. Standardvärdet är - auto, som först verifierar miljön innan du aktiverar terminalloggning. Miljökontrollen verifierar att terminalen kan använda moderna utdatafunktioner och inte använder en omdirigerad standardutdata innan den nya loggaren aktiveras.- onhoppar över miljökontrollen och aktiverar terminalloggning.- offhoppar över miljökontrollen och använder standardkonsolloggaren.- TerminalLogger visar återställningsfasen följt av byggfasen. Under varje fas visas de pågående byggprojekten längst ned i terminalen. Varje projekt som skapar utdata både det MSBuild-mål som för närvarande skapas och hur lång tid som spenderas på det målet. Du kan söka efter den här informationen om du vill veta mer om bygget. När ett projekt är färdigt skrivs ett enda "build completed"-avsnitt som samlar in: - Namnet på det skapade projektet.
- Målramverket (om det är flera mål).
- Status för bygget.
- Den primära utdatan för den versionen (som är hyperlänkad).
- Diagnostik som genereras för projektet.
 - Det här alternativet är tillgängligt från och med .NET 8. 
- -v|--verbosity <LEVEL>- Anger kommandots verbositetsnivå. Tillåtna värden är - q[uiet],- m[inimal],- n[ormal],- d[etailed]och- diag[nostic]. Standardvärdet är- minimal. Mer information finns i LoggerVerbosity.
- -?|-h|--help- Skriver ut en beskrivning av hur du använder kommandot. 
Miljövariabler
Det finns fyra mekanismer med vilka miljövariabler kan tillämpas på det lanserade programmet:
- Miljövariabler från operativsystemet när kommandot körs.
- System.CommandLine-direktiv env, till exempel[env:key=value]. Dessa gäller för heladotnet runprocessen, inte bara det projekt som körs avdotnet run.
- 
              environmentVariablesfrån den valda startprofilen (-lp) i projektets launchSettings.json fil, om någon. Dessa gäller för projektet som körs avdotnet run.
- 
              -e|--environmentCLI-alternativvärden (läggs till i .NET SDK version 9.0.200). Dessa gäller för projektet som körs avdotnet run.
Miljön är konstruerad i samma ordning som den -e|--environment här listan, så alternativet har högsta prioritet.
Exempel
- Kör projektet i den aktuella katalogen: - dotnet run
- Kör den angivna filbaserade appen i den aktuella katalogen: - dotnet run --file ConsoleApp.cs- Filbaserat appstöd har lagts till i .NET SDK 10.0.100. 
- Kör det angivna projektet: - dotnet run --project ./projects/proj1/proj1.csproj
- Kör projektet i den aktuella katalogen och ange Versionskonfiguration: - dotnet run --property:Configuration=Release
- Kör projektet i den aktuella katalogen ( - --helpargumentet i det här exemplet skickas till programmet eftersom det tomma- --alternativet används):- dotnet run --configuration Release -- --help
- Återställ beroenden och verktyg för projektet i den aktuella katalogen som bara visar minimala utdata och kör sedan projektet: - dotnet run --verbosity m
- Kör projektet i den aktuella katalogen med det angivna ramverket och skicka argument till programmet: - dotnet run -f net6.0 -- arg1 arg2- I följande exempel skickas tre argument till programmet. Ett argument skickas med , - -och två argument skickas efter- --:- dotnet run -f net6.0 -arg1 -- arg2 arg3