Sdílet prostřednictvím


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 runji, výstup se umístí do bin/Debug/netcoreapp2.1souboru . 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.dllpouž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 testdotnet publisha 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í na win-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, Staginga Production. 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í na linux-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]a diag[nostic]. Výchozí hodnota je minimal. 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