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 publish
dotnet run
dotnet test
a .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í nawin-x86
hodnotu . 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
,Staging
aProduction
. 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í nalinux-x64
hodnotu . 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]
adiag[nostic]
. Výchozí formát jeminimal
. 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