dotnet run
Tento článek se vztahuje na: ✔️ .NET Core 3.1 SDK a novější verze
Název
dotnet run
– Spustí zdrojový kód bez explicitní kompilace nebo spuštění příkazů.
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>]
[--tl:[auto|on|off]] [-v|--verbosity <LEVEL>]
[[--] [application arguments]]
dotnet run -h|--help
Popis
Tento dotnet run
příkaz nabízí pohodlnou možnost spuštění aplikace ze zdrojového kódu jedním příkazem. Je užitečné pro rychlý iterativní vývoj z příkazového řádku. Příkaz závisí na dotnet build
příkazu pro sestavení kódu. Všechny požadavky na sestavení platí dotnet run
také.
Poznámka:
dotnet run
nerespektuje argumenty jako /property:property=value
, které jsou respektovány dotnet build
.
Výstupní soubory jsou zapsány do výchozího umístění, což je bin/<configuration>/<target>
. Pokud máte netcoreapp2.1
například aplikaci a spustíte dotnet run
ji, výstup se umístí do bin/Debug/netcoreapp2.1
souboru . Soubory se podle potřeby přepíšou. Dočasné soubory se umístí do obj
adresáře.
Pokud projekt určuje více architektur, provedení dotnet run
způsobí chybu, pokud -f|--framework <FRAMEWORK>
se tato možnost nepoužije k určení architektury.
Příkaz dotnet run
se používá v kontextu projektů, ne sestavení. Pokud se místo toho pokoušíte spustit knihovnu DLL aplikace závislé na rozhraní, musíte použít dotnet bez příkazu. Například ke spuštění myapp.dll
použijte:
dotnet myapp.dll
Další informace o ovladači najdete v tématu Nástroje příkazového dotnet
řá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 run
, dotnet test
dotnet publish
a dotnet pack
. Pokud chcete zakázat implicitní obnovení, použijte tuto --no-restore
možnost.
Příkaz dotnet restore
je stále užitečný v určitých scénářích, kdy explicitní obnovení dává smysl, například sestavení kontinuální integrace ve službě Azure DevOps Services nebo v systémech sestavení, které potřebují explicitně řídit, kdy dojde k obnovení.
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
). Krátké možnosti formuláře, například -s
, nejsou podporovány.
Stažení manifestu úloh
Při spuštění tohoto příkazu zahájí asynchronní stahování reklamních manifestů pro úlohy. Pokud stahování po dokončení tohoto příkazu stále běží, stahování se zastaví. Další informace naleznete v tématu Reklamní manifesty.
Možnosti
--
Odděluje argumenty od
dotnet run
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. Toto je zkratka pro nastavení identifikátoru runtime (RID), kde se zadaná hodnota zkombinuje 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
. Pokud použijete tuto možnost, tuto možnost nepoužívejte-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é. Určení tohoto příznaku je stejné jako odstranění souboru project.assets.json .
-?|-h|--help
Vytiskne popis použití příkazu.
--interactive
Umožňuje příkazu zastavit a čekat na uživatelský vstup nebo akci. Například k dokončení ověřování. K dispozici od sady .NET Core 3.0 SDK.
--launch-profile <NAME>
Název spouštěcího profilu (pokud existuje) pro použití při spuštění aplikace. Profily spuštění jsou definovány 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
Nevystaví projekt před spuštěním. Příznak také implicitně nastaví
--no-restore
.--no-dependencies
Při obnovování projektu s odkazy P2P (project-to-project), obnoví kořenový projekt, nikoli odkazy.
--no-launch-profile
Nepokouší se použít launchSettings.json ke konfiguraci aplikace.
--no-restore
Při spuštění příkazu nespustí implicitní obnovení.
--os <OS>
Určuje cílový operační systém (OS). Toto je zkratka pro nastavení identifikátoru runtime (RID), kde se zadaná hodnota zkombinuje 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
. Pokud použijete tuto možnost, tuto možnost nepoužívejte-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ý, nastaví se jako výchozí aktuální adresář.
Zkratka
-p
pro--project
sadu .NET 6 SDK je zastaralá . Po omezenou dobu, která začíná v sadě .NET 6 RC1 SDK,-p
je stále možné použít i--project
přes upozornění na vyřazení. 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í-p
pro--project
bude 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 tuto 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
.Pokud chcete aplikaci předat
--property
místo nastavení vlastnosti MSBuild, zadejte možnost za--
oddělovačem 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.
--tl:[auto|on|off]
Určuje, jestli se má protokolovací nástroj terminálu použít pro výstup sestavení. Výchozí hodnota je
auto
, která nejprve ověří prostředí před povolením protokolování terminálu. Prostředí ověřuje, že terminál dokáže používat moderní výstupní funkce a nepoužívá přesměrovaný standardní výstup, než povolí nový protokolovací modul.on
přeskočí kontrolu prostředí a povolí protokolování terminálu.off
přeskočí kontrolu prostředí a použije výchozí protokolovací nástroj konzoly.Protokolovací nástroj terminálu ukazuje fázi obnovení následovanou fází sestavení. Během každé fáze se aktuálně stavební projekty zobrazují v dolní části terminálu. Každý projekt, který vytváří výstupy cíle NÁSTROJE MSBuild, který se právě sestavuje, i dobu strávenou na daném cíli. Další informace o sestavení najdete v těchto informacích. Po dokončení sestavení projektu se zapíše jeden oddíl "sestavení dokončeno", který zachycuje:
- Název sestaveného projektu.
- Cílová architektura (pokud je cílená na více cílů).
- Stav tohoto sestavení.
- Primární výstup tohoto sestavení (který je hypertextový odkaz).
- Všechna diagnostika vygenerovaná pro tento projekt.
Tato možnost je dostupná od verze .NET 8.
-v|--verbosity <LEVEL>
Nastaví úroveň podrobností příkazu. Povolené hodnoty jsou
q[uiet]
, ,n[ormal]
m[inimal]
,d[etailed]
adiag[nostic]
. Výchozí hodnota jeminimal
. Další informace najdete na webu 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 vydané verze:
dotnet run --property:Configuration=Release
Spusťte projekt v aktuálním adresáři (
--help
argument v tomto příkladu 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 pouze s minimálním výstupem a spusťte projekt:
dotnet run --verbosity m