dotnet-uitvoering

Dit artikel is van toepassing op: ✔️ .NET 6 SDK en latere versies

Naam

dotnet run - De broncode wordt uitgevoerd zonder expliciete compileer- of startopdrachten.

Samenvatting

dotnet run [<applicationArguments>]
  [-a|--arch <ARCHITECTURE>] [--artifacts-path <ARTIFACTS_DIR>]
  [-c|--configuration <CONFIGURATION>] [--disable-build-servers]
  [-e|--environment <KEY=VALUE>] [--file <FILE_PATH>]
  [-f|--framework <FRAMEWORK>] [--force] [--interactive]
  [-lp|--launch-profile <NAME>] [--no-build] [--no-cache]
  [--no-dependencies] [--no-launch-profile] [--no-restore] [--os <OS>]
  [-p|--property:<PROPERTYNAME>=<VALUE>]
  [--project <PATH>] [-r|--runtime <RUNTIME_IDENTIFIER>]
  [--sc|--self-contained] [--tl:[auto|on|off]] [-v|--verbosity <LEVEL>]
  [[--] [application arguments]]

dotnet run -h|--help

Beschrijving

De dotnet run opdracht biedt een handige optie om uw toepassing uit te voeren vanuit de broncode met één opdracht. Het is handig voor snelle iteratieve ontwikkeling vanaf de opdrachtregel. De opdracht is afhankelijk van de dotnet build opdracht om de code te bouwen. Alle vereisten voor de build zijn ook van toepassing dotnet run .

Uitvoerbestanden worden naar de standaardlocatie geschreven.bin/<configuration>/<target> Als u bijvoorbeeld een netcoreapp2.1 toepassing hebt en u uitvoert dotnet run, wordt de uitvoer geplaatst in bin/Debug/netcoreapp2.1. Bestanden worden naar behoefte overschreven. Tijdelijke bestanden worden in de obj map geplaatst.

Als in het project meerdere frameworks worden opgegeven, resulteert het uitvoeren van dotnet run een fout, tenzij de -f|--framework <FRAMEWORK> optie wordt gebruikt om het framework op te geven.

De dotnet run opdracht wordt gebruikt in de context van projecten, niet ingebouwde assembly's. Als u in plaats daarvan een frameworkafhankelijke toepassings-DLL probeert uit te voeren, moet u dotnet zonder opdracht gebruiken. Als u bijvoorbeeld wilt uitvoeren myapp.dll, gebruikt u:

dotnet myapp.dll

Zie dotnet voor meer informatie over het stuurprogramma .

Als u de toepassing wilt uitvoeren, worden met de dotnet run opdracht de afhankelijkheden van de toepassing die zich buiten de gedeelde runtime bevinden, omgezet vanuit de NuGet-cache. Omdat er gebruik wordt gemaakt van afhankelijkheden in de cache, wordt het afgeraden om toepassingen in productie uit te dotnet run voeren. Maak in plaats daarvan een implementatie met behulp van de dotnet publish opdracht en implementeer de gepubliceerde uitvoer.

Impliciete herstelbewerking

U hoeft niet uit te voeren dotnet restore omdat deze impliciet wordt uitgevoerd door alle opdrachten waarvoor een herstelbewerking moet worden uitgevoerd, zoals dotnet new, dotnet build, , dotnet run, dotnet test, , en dotnet publish.dotnet pack Als u impliciete herstel wilt uitschakelen, gebruikt u de --no-restore optie.

De opdracht dotnet restore is nog steeds nuttig in bepaalde scenario's waarbij expliciet herstellen zinvol is, zoals continue integratiebuilds in Azure DevOps Services of in buildsystemen die expliciet moeten worden beheerd wanneer het herstellen plaatsvindt.

Zie de dotnet restore documentatie voor informatie over het beheren van NuGet-feeds.

Deze opdracht ondersteunt de dotnet restore opties die worden doorgegeven in het lange formulier (bijvoorbeeld --source). Korte formulieropties, zoals -s, worden niet ondersteund.

Downloads van workloadmanifesten

Wanneer u deze opdracht uitvoert, wordt er een asynchrone achtergronddownload van reclamemanifesten voor workloads gestart. Als het downloaden nog steeds wordt uitgevoerd wanneer deze opdracht is voltooid, wordt het downloaden gestopt. Zie Reclamemanifesten voor meer informatie.

Profielen lanceren

Startprofielen configureren hoe dotnet run een app wordt gestart tijdens de ontwikkeling. Voor een SDK-project plaatst u de instellingen in Properties/launchSettings.json. Visual Basic projecten in plaats daarvan gebruikenMy Project/launchSettings.json.

Op bestanden gebaseerde apps kunnen een [ApplicationName].run.json bestand naast het bronbestand gebruiken. Zie Profielen starten voor apps op basis van bestanden voor de volgorde en voorbeelden van het opzoeken van bestanden.

Het bestand met startinstellingen bevat een object op het hoogste niveau profiles . Elke eigenschap in profiles definieert een benoemd profiel:

{
  "profiles": {
    "Local": {
      "commandName": "Project",
      "commandLineArgs": "--input sample.txt",
      "dotnetRunMessages": true,
      "environmentVariables": {
        "APP_MODE": "local"
      }
    }
  }
}

De .NET SDK-instellingen parser accepteert JSON-opmerkingen en volgkomma's.

Een profiel selecteren

Gebruik --launch-profile <NAME> dit om een benoemd profiel te selecteren. De naamovereenkomst is hoofdlettergevoelig. Profielnamen die alleen per geval verschillen, zijn dubbelzinnig en produceren een fout.

Als u geen naam opgeeft, dotnet run selecteert u het eerste profiel in de bestandsvolgorde waarvan commandName deze ondersteuning biedt. Gebruik --no-launch-profile dit om het opstartinstellingenbestand over te slaan.

Wanneer dotnet run u een profiel toepast, wordt dit ingesteld DOTNET_LAUNCH_PROFILE op de geselecteerde profielnaam in het gestarte proces. Een latere omgevingsvariabelebron kan de waarde overschrijven.

Ondersteunde profieltypen

De .NET SDK ondersteunt deze commandName waarden voor dotnet run. De waarden zijn hoofdlettergevoelig.

commandName Gedrag
Project Hiermee wordt het project gebouwd en wordt de opdracht gestart die door het project wordt geproduceerd.
Executable Hiermee start u de opdracht die is opgegeven door executablePath. Tenzij u opgeeft --no-build, dotnet run wordt het project nog steeds eerst gebouwd.

Gemeenschappelijke eigenschappen

dotnet run herkent deze eigenschappen voor beide ondersteunde profieltypen:

dotnet run breidt omgevingsvariabeleverwijzingen %NAME% in ondersteunde tekenreekswaarden uit. In .NET 11 en latere versies worden ook msBuild-eigenschapverwijzingen uitgebreid in waarden die worden gebruikt om het proces te starten, met behulp van dezelfde tokenvervanging als Visual Studio. Er worden geen shell-stijlverwijzingen $NAME uitgevouwen.

Property Gedrag
commandLineArgs Hiermee geeft u argumenten voor het gestarte proces. Expliciete toepassingsargumenten op de opdrachtregel hebben voorrang. Voor een Project profiel hebben argumenten van de project ook voorrang.
environmentVariables Hiermee geeft u omgevingsvariabelen voor het gestarte proces. Profielwaarden overschrijven overgenomen en door SDK gegenereerde omgevingsvariabelen en -e\|--environment waarden overschrijven profielwaarden.
dotnetRunMessages Wanneer true, wordt afgedrukt Building... voordat dotnet run het project wordt gebouwd. De standaardwaarde is false. Deze eigenschap bepaalt niet het bericht dat het bestand met startinstellingen identificeert.

Gebruik environmentVariables deze indeling om runtime-instellingen voor ontwikkelingstijd toe te passen met een omgevingsvariabelevorm. Een profiel kan bijvoorbeeld GC-instellingen instellen, zoals DOTNET_gcServer. Zie .NET runtime-configuratie-instellingen en runtime-configuratieopties voor garbagecollection voor de beschikbare instellingen, namen van omgevingsvariabelen en prioriteitsregels.

Niet elke runtime-instelling heeft een omgevingsvariabelevorm. Als u een app onafhankelijk van het startprofiel wilt configureren, gebruikt u een MSBuild-eigenschap of RuntimeHostConfigurationOption -item in het project of gebruikt u een runtimeconfig.template.json bestand. Sommige instellingen kunnen ook worden gewijzigd in code met AppContext.SetSwitch. Deze mechanismen produceren of wijzigen de runtimeconfiguratie van de app; ze zijn geen aanvullende launchSettings.json eigenschappen.

Project eigenschappen

dotnet runherkent deze aanvullende eigenschappen wanneercommandName:Project

Property Gedrag
applicationUrl Sets ASPNETCORE_URLS in het gestarte proces. Een ASPNETCORE_URLS waarde in environmentVariables of van -e\|--environment heeft voorrang.
launchBrowser Hiermee geeft u aan of u een browser wilt openen. dotnet run behoudt deze eigenschap in het geparseerde profiel, maar opent geen browser.
launchUrl Hiermee geeft u aan welke hulpprogramma's moeten worden geopend. dotnet run behoudt deze eigenschap in het geparseerde profiel, maar opent geen browser of gebruikt de URL.

Het applicationUrl gedrag ondersteunt ASP.NET Core, maar startprofielen en de andere algemene eigenschappen zijn van toepassing op een runnable SDK-stijl .NET project.

Executable eigenschappen

dotnet runherkent deze aanvullende eigenschappen wanneercommandName:Executable

Property Gedrag
executablePath Required. Hiermee geeft u het proces dat moet worden gestart. De SDK breidt ondersteunde variabeleverwijzingen uit, maar er wordt geen relatieve waarde omgezet in het bestand met startinstellingen. Gebruik een absoluut pad of een opdracht die het besturingssysteem kan vinden.
workingDirectory Optioneel. Hiermee geeft u de werkmap voor het gestarte proces. De SDK breidt ondersteunde variabeleverwijzingen uit en lost een relatief pad op voor de map die het bestand met de startinstellingen bevat. Als u de eigenschap weglaat, wordt de werkmap standaard ingesteld op de map die de project- of bestands-app bevat.

extensies voor Visual Studio en foutopsporingsprogramma's

launchSettings.json is een gedeelde invoerindeling, maar elke consument bepaalt welke waarden moeten worden ondersteund en hoe ze moeten worden geïnterpreteerd. Visual Studio, foutopsporingsprogramma's en andere hulpprogramma's kunnen meer commandName waarden en eigenschappen herkennen dan dotnet run.

In de volgende tabel wordt het dotnet run contract vergeleken met het algemene gedrag van het .NET projectsysteem in Visual Studio:

Instelling of gedrag dotnet run Visual Studio
Ondersteunde profieltypen Ondersteunt Project en Executable. Ondersteunt Project, Executableen een lege commandName. Geïnstalleerde projectsysteemextensies kunnen andere profieltypen toevoegen.
Variabele uitbreiding Breidt verwijzingen naar omgevingsvariabelen %NAME% uit. In .NET 11 en latere versies worden ook msBuild-eigenschapverwijzingen uitgebreid in waarden die worden gebruikt om het proces te starten. Hiermee worden omgevingsvariabelen en MSBuild-eigenschappen uitgebreid in executablePath, commandLineArgs, , workingDirectorylaunchUrlomgevingsvariabelewaarden en extensie-instellingen met tekenreekswaarden.
commandLineArgs voor Project Gebruikt de profielwaarde alleen wanneer het project geen uitvoeringsargumenten biedt en u geen toepassingsargumenten op de opdrachtregel doorgeeft. Hiermee voegt u de profielwaarde toe aan de uitvoeringsargumenten van het project.
workingDirectory voor Project Negeert de eigenschap. Ondersteunt de eigenschap. Een relatief pad is relatief ten opzichte van de projectmap.
workingDirectory voor Executable Een relatief pad is relatief ten opzichte van de map die het bestand met startinstellingen bevat. Als u dit weglaat, wordt het pad standaard ingesteld op de project- of bestands-app-map. Een relatief pad is relatief ten opzichte van de projectmap. Als u dit weglaat, wordt het pad standaard ingesteld op de uitvoermap wanneer die map bestaat of naar de projectmap anders.
Relatief executablePath Hiermee wordt de waarde doorgegeven aan het besturingssysteem zonder deze opnieuw te gebruiken. Hiermee wordt een waarde met padonderdelen uit de werkmap van het profiel omgezet. Voor een lege uitvoerbare naam controleert Visual Studio zijn eigen huidige map en vervolgens PATH.
launchBrowser en launchUrl Behoudt de waarden in het geparseerde profiel, maar opent geen browser. Hiermee maakt u de waarden beschikbaar voor een startprovider. ASP.NET Core hulpprogramma's kunnen bijvoorbeeld een browser openen.
applicationUrl Stelt in ASPNETCORE_URLS. Hiermee maakt u de waarde beschikbaar voor geïnstalleerde startproviders, zoals ASP.NET Core hulpprogramma's.
dotnetRunMessages Hiermee bepaalt u het Building... bericht. De eigenschap wordt niet gebruikt om Visual Studio uitvoer te beheren.
Eigenschappen van foutopsporingsprogramma Negeert foutopsporingsspecifieke eigenschappen. Maakt gebruik van eigenschappen zoalsnativeDebugging, sqlDebugging, jsWebView2Debugging, en hotReloadEnabledremoteDebugEnabledwanneer het project en het foutopsporingsprogramma ondersteuning bieden voor de functie.

In .NET 11 en nieuwere versies breiden beide consumenten uit"$(ProjectDir)". In eerdere versies identificeert geen enkele workingDirectory waarde de projectmap voor beide consumenten. Visual Studio uitvouwt"$(ProjectDir)", terwijl dotnet run deze als letterlijke tekst wordt behandeld en relatieve paden worden omgezet uit de map die het bestand met het startinstellingenbestand bevat. ".." Gebruik daarom voor dotnet run een conventioneel Properties/launchSettings.json bestand of My Project/launchSettings.json bestand. Visual Studio wordt dezelfde waarde omgezet in het bovenliggende item van de projectmap.

Windows Forms en WPF-apps voegen geen ander dotnet run profieltype toe. Gebruik een Project profiel met algemene instellingen, zoals commandLineArgs en environmentVariables. In Visual Studio kunnen deze typen bureaubladproject ook toepasselijke eigenschappen voor foutopsporingsprogramma's gebruiken, zoals nativeDebugging voor gemengde beheerde en systeemeigen foutopsporing of jsWebView2Debugging voor WebView2. Browser- en URL-eigenschappen hebben alleen een effect wanneer een startprovider of de toepassing deze verbruikt.

Andere projecttypen en Visual Studio-workloads kunnen startproviders installeren die profieltypen toevoegen of extra eigenschappen interpreteren. Deze extensies voegen geen ondersteuning toe aan dotnet run: de CLI slaat niet-ondersteunde profieltypen over tijdens de standaardselectie en rapporteert een fout wanneer u er expliciet een selecteert.

Zie Project-instellingen voor een .NET C#-foutopsporingsconfiguratie voor Visual Studio ondersteunde foutopsporingsinstellingen en project gebruikersinterface.

Arguments

<applicationArguments>

Argumenten die worden doorgegeven aan de toepassing die wordt uitgevoerd.

Argumenten die niet worden herkend door dotnet run , worden doorgegeven aan de toepassing. Als u argumenten wilt dotnet run scheiden van argumenten voor de toepassing, gebruikt u de -- optie.

Argumenten doorsturen naar de toepassing

dotnet run stuurt een token door dat niet wordt herkend aan de toepassing. De doorgestuurde tokens behouden hun oorspronkelijke volgorde, maar dotnet run verwijdert eerst de opties die worden begrepen. Wanneer een herkende optie wordt weergegeven tussen een niet-herkende optienaam en de bijbehorende waarde, kan het verwijderen van de herkende optie de betekenis van de resttokens wijzigen.

De volgende opdracht interleaseert bijvoorbeeld de herkende optie --project tussen tokens die de toepassing moet ontvangen:

dotnet run --app-flag --app-name --project ConsoleApp.csproj A.txt

Nadat dotnet run deze is verbruikt --project ConsoleApp.csproj, ontvangt --app-flag --app-name A.txtde toepassing . De toepassing wordt A.txt vervolgens behandeld als de waarde van --app-name, die niet overeenkomt met de oorspronkelijke opdrachtregel.

Als u deze dubbelzinnigheid wilt voorkomen, plaatst u toepassingsargumenten na een letterlijke tekst --:

dotnet run --project ConsoleApp.csproj -- --app-flag --app-name A.txt

Het -- scheidingsteken markeert elk volgende token als een toepassingsargument, zodat dotnet run deze niet opnieuw worden gerangschikt of opnieuw worden geïnterpreteerd. Het scheidingsteken biedt ook toekomstbestendige scripts voor nieuwe dotnet run opties die later overeenkomen met een token dat eerder naar de toepassing is doorgestuurd.

Note

Hetzelfde gedrag is van toepassing op dotnet build en op dotnet test in Microsoft. De MTP-modus (Testing.Platform), die niet-herkende tokens doorstuurt naar MSBuild of naar de testtoepassing. Zie dotnet test voor meer informatie.

Opties

  • --

    Hiermee worden argumenten gescheiden van dotnet run argumenten voor de toepassing die wordt uitgevoerd. Alle argumenten na dit scheidingsteken worden doorgegeven aan de uitvoering van de toepassing.

  • -a|--arch <ARCHITECTURE>

    Hiermee geeft u de doelarchitectuur. Dit is een verkorte syntaxis voor het instellen van de Runtime-id (RID), waarbij de opgegeven waarde wordt gecombineerd met de standaard-RID. Als u bijvoorbeeld op een win-x64 computer opgeeft --arch x86 , wordt de RID ingesteld op win-x86. Als u deze optie gebruikt, gebruikt u de -r|--runtime optie niet. Beschikbaar sinds .NET 6 preview 7.

  • --artifacts-path <ARTIFACTS_DIR>

    Alle builduitvoerbestanden van de uitgevoerde opdracht worden weergegeven in submappen onder het opgegeven pad, gescheiden door project. Zie De indeling Artefacten-uitvoer voor meer informatie. Deze optie en de opgegeven waarde moeten expliciet worden ge trapsgewijs worden uitgevoerd in een dotnet opdracht die afhankelijk is van de uitvoer van een andere dotnet opdracht, bijvoorbeeld bij gebruik dotnet build --no-restore en dotnet publish --no-build. Beschikbaar sinds .NET 8 SDK.

  • -c|--configuration <CONFIGURATION>

    Definieert de buildconfiguratie. De standaardinstelling voor de meeste projecten is Debug, maar u kunt de buildconfiguratie-instellingen in uw project overschrijven.

  • --disable-build-servers

    Hiermee wordt de opdracht gedwongen om permanente buildservers te negeren. Deze optie biedt een consistente manier om al het gebruik van buildcaching uit te schakelen, waardoor een volledig nieuwe build wordt afgemaakt. Een build die niet afhankelijk is van caches is handig wanneer de caches om een of andere reden beschadigd of onjuist zijn. Beschikbaar sinds .NET 7 SDK.

  • -e|--environment <KEY=VALUE>

    Hiermee stelt u de opgegeven omgevingsvariabele in het proces in dat door de opdracht wordt uitgevoerd. De opgegeven omgevingsvariabele wordt niet toegepast op het dotnet run proces.

    Omgevingsvariabelen die via deze optie worden doorgegeven, hebben voorrang op omgevingsvariabelen, System.CommandLine-instructies env en environmentVariables vanuit het gekozen startprofiel. Zie Omgevingsvariabelen voor meer informatie.

    (Deze optie is toegevoegd in .NET SDK 9.0.200.)

  • -f|--framework <FRAMEWORK>

    Hiermee wordt de app gebouwd en uitgevoerd met behulp van het opgegeven framework. Het framework moet worden opgegeven in het projectbestand.

  • --file <FILE_PATH>

    Het pad naar de op bestanden gebaseerde app die moet worden uitgevoerd. Als er geen pad is opgegeven, wordt de huidige map gebruikt om het bestand te zoeken en uit te voeren. Zie C#-apps bouwen voor meer informatie over op bestanden gebaseerde apps.

    Voer op Unix apps op basis van bestanden rechtstreeks uit met behulp van de bestandsnaam door een shebang-instructie (#!) toe te voegen en de uitvoermachtiging in te stellen. Zie ondersteuning voor Unix shebang (#!) voor meer informatie.

    Geïntroduceerd in .NET SDK 10.0.100.

  • --force

    Hiermee worden alle afhankelijkheden gedwongen om te worden opgelost, zelfs als de laatste herstelbewerking is geslaagd. Het opgeven van deze vlag is hetzelfde als het verwijderen van het project.assets.json bestand.

  • --interactive

    Hiermee kan de opdracht stoppen en wachten op invoer of actie van de gebruiker. Bijvoorbeeld om de verificatie te voltooien.

  • -lp|--launch-profile <NAME>

    De naam van het startprofiel dat moet worden gebruikt bij het starten van de toepassing. Zie Profielen starten voor meer informatie.

  • --no-build

    Het project wordt niet gebouwd voordat het wordt uitgevoerd. De vlag wordt ook impliciet ingesteld --no-restore .

  • --no-cache

    Sla up-to-date controles over en bouw het programma altijd voordat u het uitvoert.

  • --no-dependencies

    Wanneer u een project herstelt met P2P-verwijzingen (project-to-project), herstelt u het hoofdproject en niet de verwijzingen.

  • --no-launch-profile

    Er wordt niet geprobeerd launchSettings.json te gebruiken om de toepassing te configureren.

  • --no-restore

    Voert geen impliciete herstelbewerking uit bij het uitvoeren van de opdracht.

  • --no-self-contained

    Publiceer uw toepassing als een frameworkafhankelijke toepassing. Er moet een compatibele .NET runtime worden geïnstalleerd op de doelcomputer om uw toepassing uit te voeren.

  • --os <OS>

    Hiermee geeft u het doelbesturingssysteem (OS). Dit is een verkorte syntaxis voor het instellen van de Runtime-id (RID), waarbij de opgegeven waarde wordt gecombineerd met de standaard-RID. Als u bijvoorbeeld op een win-x64 computer opgeeft --os linux , wordt de RID ingesteld op linux-x64. Als u deze optie gebruikt, gebruikt u de -r|--runtime optie niet. Beschikbaar sinds .NET 6.

  • --project <PATH>

    Hiermee geeft u het pad van het projectbestand dat moet worden uitgevoerd (mapnaam of volledig pad). Als dit niet is opgegeven, wordt deze standaard ingesteld op de huidige map.

    De afkorting -p voor --project is afgeschaft vanaf .NET 6 SDK. Gedurende een beperkte tijd -p kan nog steeds worden gebruikt voor --project ondanks de afschaffingswaarschuwing. Als het argument dat is opgegeven voor de optie niet bevat =, accepteert -p de opdracht als kort voor --project. Anders wordt ervan uitgegaan dat dit -p een afkorting is voor --property. Dit flexibele gebruik van -p voor --project wordt in .NET 7 uitgefaseerd.

  • --property:<NAME>=<VALUE>

    Hiermee stelt u een of meer MSBuild-eigenschappen in. Geef meerdere eigenschappen op die zijn gescheiden door puntkomma's of door de optie te herhalen:

    --property:<NAME1>=<VALUE1>;<NAME2>=<VALUE2>
    --property:<NAME1>=<VALUE1> --property:<NAME2>=<VALUE2>
    

    De korte vorm -p kan worden gebruikt voor --property. Als het argument dat voor de optie is =opgegeven, -p wordt geaccepteerd als kort voor --property. Anders wordt ervan uitgegaan dat dit -p een afkorting is voor --project.

    Als u wilt doorgeven --property aan de toepassing in plaats van een MSBuild-eigenschap in te stellen, geeft u de optie op na het -- syntaxisscheidingsteken, bijvoorbeeld:

    dotnet run -- --property name=value
    
  • -r|--runtime <RUNTIME_IDENTIFIER>

    Hiermee geeft u de doelruntime op waarvoor pakketten moeten worden hersteld. Zie de RID-catalogus voor een lijst met runtime-id's (RID's).

  • --sc|--self-contained

    Publiceer de .NET runtime met uw toepassing, zodat de runtime niet hoeft te worden geïnstalleerd op de doelcomputer.

  • --tl:[auto|on|off]

    Hiermee geeft u op of Terminal Logger moet worden gebruikt voor de build-uitvoer. De standaardwaarde is auto, waarmee eerst de omgeving wordt geverifieerd voordat u terminallogboekregistratie inschakelt. De omgevingscontrole controleert of de terminal in staat is moderne uitvoerfuncties te gebruiken en geen omgeleide standaarduitvoer gebruikt voordat de nieuwe logger wordt ingeschakeld. on slaat de omgevingscontrole over en schakelt terminallogboekregistratie in. off slaat de omgevingscontrole over en maakt gebruik van de standaardconsolelogger.

    Terminal Logger toont de herstelfase, gevolgd door de buildfase. Tijdens elke fase worden de huidige bouwprojecten onderaan de terminal weergegeven. Elk project dat wordt gebouwd, levert zowel het MSBuild-doel dat momenteel wordt gebouwd als de hoeveelheid tijd die aan dat doel is besteed. U kunt deze informatie doorzoeken voor meer informatie over de build. Wanneer een project klaar is met bouwen, wordt één sectie 'build completed' geschreven die het volgende vastlegt:

    • De naam van het gebouwde project.
    • Het doelframework (indien multi-targeted).
    • De status van die build.
    • De primaire uitvoer van die build (die is hyperlinked).
    • Diagnostische gegevens die voor dat project worden gegenereerd.

    Deze optie is beschikbaar vanaf .NET 8.

  • -v|--verbosity <LEVEL>

    Hiermee stelt u het uitgebreidheidsniveau van de opdracht in. Toegestane waarden zijnq[uiet], , , m[inimal]en n[ormal]d[etailed]diag[nostic]. De standaardwaarde is minimal. Zie LoggerVerbosity voor meer informatie.

  • -?|-h|--help

    Hiermee wordt een beschrijving afgedrukt van het gebruik van de opdracht.

Omgevingsvariabelen

De volgende bronnen passen omgevingsvariabelen toe op de gestarte toepassing:

  1. Omgevingsomgevingsvariabelen van het besturingssysteem wanneer de opdracht wordt uitgevoerd.
  2. System.CommandLine-instructies env , zoals [env:key=value]. Deze zijn van toepassing op het hele dotnet run proces, niet alleen op het project dat wordt uitgevoerd.dotnet run
  3. Waarden die zijn gegenereerd op basis van het gekozen startprofiel. dotnet run stelt DOTNET_LAUNCH_PROFILE, en applicationUrl in een Project profielset ASPNETCORE_URLS.
  4. environmentVariables van het gekozen startprofiel, indien van toepassing. Deze zijn van toepassing op het project dat wordt uitgevoerd door dotnet run.
  5. -e|--environment CLI-optiewaarden (toegevoegd in .NET SDK-versie 9.0.200). Deze zijn van toepassing op het project dat wordt uitgevoerd door dotnet run.

De omgeving is opgebouwd in dezelfde volgorde als deze lijst, dus de -e|--environment optie heeft de hoogste prioriteit.

Voorbeelden

  • Voer het project uit in de huidige map:

    dotnet run
    
  • Voer de opgegeven app op basis van bestanden uit in de huidige map:

    dotnet run --file ConsoleApp.cs
    

    Ondersteuning voor bestandsgebaseerde apps is toegevoegd in .NET SDK 10.0.100.

  • Voer het opgegeven project uit:

    dotnet run --project ./projects/proj1/proj1.csproj
    
  • Voer het project uit in de huidige map en geef de releaseconfiguratie op:

    dotnet run --property:Configuration=Release
    
  • Voer het project uit in de huidige map (het --help argument in dit voorbeeld wordt doorgegeven aan de toepassing, omdat de lege -- optie wordt gebruikt):

    dotnet run --configuration Release -- --help
    
  • Herstel afhankelijkheden en hulpprogramma's voor het project in de huidige map alleen met minimale uitvoer en voer vervolgens het project uit:

    dotnet run --verbosity m
    
  • Voer het project uit in de huidige map met behulp van het opgegeven framework en geef argumenten door aan de toepassing:

    dotnet run -f net6.0 -- arg1 arg2
    

    In het volgende voorbeeld worden drie argumenten doorgegeven aan de toepassing. Eén argument wordt doorgegeven met behulp van -en twee argumenten worden doorgegeven na --:

    dotnet run -f net6.0 -arg1 -- arg2 arg3