dotnet run

Tento článek se týká: ✔️ .NET Core 3.1 SDK a novějších verzí

Name

dotnet run – Spustí zdrojový kód bez explicitních příkazů pro kompilaci nebo spuštění.

Synopse

dotnet run [-a|--arch <ARCHITECTURE>] [-c|--configuration <CONFIGURATION>]
    [-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>]
    [-v|--verbosity <LEVEL>] [[--] [application arguments]]

dotnet run -h|--help

Description

Příkaz dotnet run poskytuje pohodlnou možnost spuštění aplikace ze zdrojového kódu pomocí jednoho příkazu. Je to užitečné pro rychlý iterativní vývoj z příkazového řádku. Příkaz závisí na příkazu dotnet build pro sestavení kódu. Všechny požadavky na sestavení, například to, že projekt musí být obnoven jako první, platí i pro dotnet run .

Poznámka

dotnet run nerespektuje argumenty jako /property:property=value, které jsou respektovány nástrojem dotnet build.

Výstupní soubory se zapisují do výchozího umístění, kterým je bin/<configuration>/<target>. Pokud máte netcoreapp2.1 například aplikaci a spustíte dotnet run, výstup se umístí do bin/Debug/netcoreapp2.1. Soubory se podle potřeby přepíšou. Dočasné soubory jsou umístěny v adresáři obj .

Pokud projekt určuje více architektur, spuštění dotnet run způsobí chybu, pokud -f|--framework <FRAMEWORK> se k zadání architektury nepoužije možnost.

Příkaz se dotnet run používá v kontextu projektů, nikoli v předdefinovaných sestaveních. Pokud se místo toho pokoušíte spustit knihovnu DLL aplikace závislé na architektuře, musíte použít dotnet bez příkazu. Pokud například chcete spustit myapp.dll, použijte:

dotnet myapp.dll

Další informace o ovladači dotnet najdete v tématu Nástroje příkazového řádku .NET (CLI).

Pokud chcete aplikaci spustit, dotnet run příkaz přeloží závislosti aplikace, které jsou mimo sdílený modul runtime, z mezipaměti NuGet. Vzhledem k tomu, že používá závislosti uložené v mezipaměti, nedoporučuje se používat dotnet run ke spouštění aplikací v produkčním prostředí. Místo toho vytvořte nasazení pomocí dotnet publish příkazu a nasaďte publikovaný výstup.

Implicitní obnovení

Nemusíte spouštětdotnet restore, protože se spouští implicitně všemi příkazy, které vyžadují obnovení, například dotnet new, dotnet build, dotnet publishdotnet rundotnet testa .dotnet pack Pokud chcete zakázat implicitní obnovení, použijte možnost --no-restore .

Příkaz dotnet restore je stále užitečný v určitých scénářích, kde explicitní obnovení dává smysl, například sestavení s kontinuální integrací v Azure DevOps Services nebo v systémech sestavení, které potřebují explicitně řídit, kdy k obnovení dojde.

Informace o správě informačních kanálů NuGet najdete v dotnet restore dokumentaci.

Tento příkaz podporuje dotnet restore možnosti, které jsou předány v dlouhém formátu (například --source). Možnosti krátkého formuláře, například -s, nejsou podporovány.

Stažení manifestu úloh

Když tento příkaz spustíte, zahájí asynchronní stahování manifestů reklamy pro úlohy na pozadí. Pokud je stahování po dokončení tohoto příkazu stále spuštěné, stahování se zastaví. Další informace najdete v tématu Manifesty reklamy.

Možnosti

  • --

    Odděluje argumenty dotnet run od argumentů pro spuštěnou aplikaci. Všechny argumenty za tímto oddělovačem se předají do spuštění aplikace.

  • -a|--arch <ARCHITECTURE>

    Určuje cílovou architekturu. Jedná se o zkrácenou syntaxi pro nastavení identifikátoru RID (Runtime Identifier), kde je zadaná hodnota kombinována s výchozím identifikátorem RID. Například na win-x64 počítači se zadáním --arch x86 identifikátoru RID nastaví na win-x86hodnotu . Pokud použijete tuto možnost, nepoužívejte ji -r|--runtime . K dispozici od verze .NET 6 Preview 7.

  • -c|--configuration <CONFIGURATION>

    Definuje konfiguraci sestavení. Výchozí hodnota pro většinu projektů je Debug, ale můžete přepsat nastavení konfigurace sestavení v projektu.

  • -f|--framework <FRAMEWORK>

    Sestaví a spustí aplikaci pomocí zadané architektury. Architektura musí být zadána v souboru projektu.

  • --force

    Vynutí vyřešení všech závislostí, i když bylo poslední obnovení úspěšné. Zadání tohoto příznaku je stejné jako odstranění souboru project.assets.json .

  • -?|-h|--help

    Vytiskne popis použití příkazu.

  • --interactive

    Umožňuje příkaz zastavit a čekat na vstup nebo akci uživatele. Například k dokončení ověřování. K dispozici od .NET Core 3.0 SDK.

  • --launch-profile <NAME>

    Název spouštěcího profilu (pokud existuje), který se má použít při spouštění aplikace. Spouštěcí profily jsou definované v souboru launchSettings.json a obvykle se nazývají Development, Staginga Production. Další informace najdete v tématu Práce s více prostředími.

  • --no-build

    Nevytáčí projekt před spuštěním. Také implicitně nastaví --no-restore příznak.

  • --no-dependencies

    Při obnovování projektu pomocí odkazů P2P (project-to-project) obnovíte kořenový projekt, nikoli odkazy.

  • --no-launch-profile

    Nepokouší se ke konfiguraci aplikace použít soubor launchSettings.json .

  • --no-restore

    Při spuštění příkazu neprovádí implicitní obnovení.

  • --os <OS>

    Určuje cílový operační systém (OS). Jedná se o zkrácenou syntaxi pro nastavení identifikátoru RID (Runtime Identifier), kde je zadaná hodnota kombinována s výchozím identifikátorem RID. Například na win-x64 počítači se zadáním --os linux identifikátoru RID nastaví na linux-x64hodnotu . Pokud použijete tuto možnost, nepoužívejte ji -r|--runtime . K dispozici od .NET 6.

  • --project <PATH>

    Určuje cestu ke spuštění souboru projektu (název složky nebo úplná cesta). Pokud není zadaný, použije se jako výchozí aktuální adresář.

    Zkratka-p pro --project je od verze .NET 6 SDK zastaralá. Po omezenou dobu od verze .NET 6 RC1 SDK -p se dá i přes upozornění na vyřazení použít pro --project . Pokud argument zadaný pro možnost neobsahuje =, příkaz přijme -p zkratku pro --project. V opačném případě příkaz předpokládá, že -p je zkratka pro --property. Toto flexibilní použití for -p--project bude postupně ukončeno v .NET 7.

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

    Nastaví jednu nebo více vlastností nástroje MSBuild. Zadejte více vlastností oddělených středníky nebo opakováním možnosti:

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

    Krátký formulář -p lze použít pro --property. Pokud argument zadaný pro možnost obsahuje =, -p je přijat jako zkratka pro --property. V opačném případě příkaz předpokládá, že -p je zkratka pro --project.

    --property Pokud chcete předat aplikaci místo nastavení vlastnosti MSBuild, zadejte možnost za -- oddělovače syntaxe, například:

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

    Určuje cílový modul runtime pro obnovení balíčků. Seznam identifikátorů runtime (RID) najdete v katalogu RID.

  • -v|--verbosity <LEVEL>

    Nastaví úroveň podrobností příkazu. Povolené hodnoty jsou q[uiet], m[inimal], n[ormal], d[etailed]a diag[nostic]. Výchozí formát je minimal. Další informace naleznete v tématu LoggerVerbosity.

Příklady

  • Spusťte projekt v aktuálním adresáři:

    dotnet run
    
  • Spusťte zadaný projekt:

    dotnet run --project ./projects/proj1/proj1.csproj
    
  • Spusťte projekt v aktuálním adresáři a zadejte konfiguraci verze:

    dotnet run --property:Configuration=Release
    
  • Spusťte projekt v aktuálním adresáři (argument v tomto příkladu --help se předá aplikaci, protože se používá prázdná -- možnost):

    dotnet run --configuration Release -- --help
    
  • Obnovte závislosti a nástroje pro projekt v aktuálním adresáři s minimálním výstupem a spusťte projekt:

    dotnet run --verbosity m