dotnet run

Ten artykuł dotyczy: ✔️ zestawu .NET Core 2.x SDK i jego nowszych wersji

Nazwa

dotnet run — Uruchamia kod źródłowy bez żadnych jawnych poleceń kompilacji lub uruchamiania.

Streszczenie

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

Opis

Polecenie udostępnia wygodną opcję uruchamiania aplikacji dotnet run z kodu źródłowego za pomocą jednego polecenia. Jest to przydatne do szybkiego opracowywania iteracyjne z wiersza polecenia. Polecenie zależy od dotnet build polecenia w celu skompilowania kodu. Mają również zastosowanie wszystkie wymagania dotyczące kompilacji, takie jak to, że projekt musi zostać dotnet run przywrócony jako pierwszy.

Uwaga

dotnet runNie przestrzega argumentów, takich jak /property:property=value , które są przestrzegane przez . dotnet build

Pliki wyjściowe są zapisywane w lokalizacji domyślnej, czyli bin/<configuration>/<target> . Jeśli na przykład masz aplikację netcoreapp2.1 i uruchamiasz program dotnet run , dane wyjściowe zostaną umieszczone w . bin/Debug/netcoreapp2.1 Pliki są zastępowane zgodnie z potrzebami. Pliki tymczasowe są umieszczane w obj katalogu .

Jeśli projekt określa wiele platform, wykonanie powoduje błąd, chyba że do określenia struktury jest dotnet run -f|--framework <FRAMEWORK> używana opcja .

Polecenie dotnet run jest używane w kontekście projektów, a nie zestawów sypkich. Jeśli zamiast tego próbujesz uruchomić bibliotekę DLL aplikacji zależnej od struktury, musisz użyć polecenia dotnet bez polecenia. Aby na przykład uruchomić , myapp.dll użyj:

dotnet myapp.dll

Aby uzyskać więcej informacji na temat dotnet sterownika, zobacz temat .NET Command Line Tools (CLI) (Narzędzia wiersza polecenia .NET).

Aby uruchomić aplikację, polecenie rozwiązuje zależności aplikacji, które znajdują się poza udostępnionym środowiskiem uruchomieniowym, z dotnet run NuGet pamięci podręcznej. Ponieważ korzysta ona z buforowanych zależności, nie zaleca się używania jej do dotnet run uruchamiania aplikacji w środowisku produkcyjnym. Zamiast tego należy utworzyć wdrożenie przy użyciu polecenia i dotnet publish wdrożyć opublikowane dane wyjściowe.

Niejawne przywracanie

Nie trzeba uruchamiać programu dotnet restore , ponieważ jest on uruchamiany niejawnie przez wszystkie polecenia, które wymagają wykonania przywracania, takie jak,,,, dotnet new dotnet build dotnet run dotnet test dotnet publish i dotnet pack . Aby wyłączyć Przywracanie niejawne, użyj --no-restore opcji.

dotnet restorePolecenie jest nadal przydatne w niektórych scenariuszach, w których jawne jest przywracanie, takie jak kompilacje ciągłej integracji w Azure DevOps Services lub w systemach kompilacji, które muszą jawnie kontrolować po wystąpieniu przywracania.

Informacje o sposobach zarządzania źródłami danych NuGet znajdują się w dotnet restore dokumentacji.

To polecenie obsługuje dotnet restore Opcje, gdy są przesyłane w postaci długiej (na przykład --source ). Opcje krótkiej formy, takie jak -s , nie są obsługiwane.

Pobieranie manifestu obciążenia

Po uruchomieniu tego polecenia inicjuje asynchroniczne pobieranie w tle manifestów reklamowych dla obciążeń. Jeśli pobieranie nadal działa po zakończeniu działania tego polecenia, pobieranie zostanie zatrzymane. Aby uzyskać więcej informacji, zobacz Advertising manifests (Manifesty reklamy).

Opcje

  • --

    Rozdziela argumenty dotnet run od argumentów dla uruchamianej aplikacji. Wszystkie argumenty po tym ograniczniku są przekazywane do uruchomienia aplikacji.

  • -a|--arch <ARCHITECTURE>

    Określa architekturę docelową. Jest to skrócona składnia do ustawiania identyfikatora środowiska uruchomieniowego (RID),gdzie podaną wartość jest łączone z domyślny identyfikator RID. Na przykład na maszynie win-x64 określenie wartości ustawia rid na --arch x86 win-x86 . Jeśli używasz tej opcji, nie używaj -r|--runtime tej opcji. Dostępne od wersji zapoznawczej 7 programu .NET 6.

  • -c|--configuration <CONFIGURATION>

    Definiuje konfigurację kompilacji. Wartość domyślna dla większości projektów to , ale można zastąpić ustawienia konfiguracji Debug kompilacji w projekcie.

  • -f|--framework <FRAMEWORK>

    Tworzy i uruchamia aplikację przy użyciu określonej struktury. Platformę należy określić w pliku projektu.

  • --force

    Wymusza rozwiązanie wszystkich zależności, nawet jeśli ostatnie przywracanie powiodło się. Określenie tej flagi jest takie samo jak usunięcie pliku project.assets.json.

  • -?|-h|--help

    Drukuje opis sposobu korzystania z polecenia.

  • --interactive

    Umożliwia polecenie zatrzymania i oczekiwania na dane wejściowe użytkownika lub akcję. Na przykład w celu ukończenia uwierzytelniania. Dostępne od wersji .NET Core 3.0 SDK.

  • --launch-profile <NAME>

    Nazwa profilu uruchamiania (jeśli jest) do użycia podczas uruchamiania aplikacji. Profile uruchamiania są definiowane w pliku launchSettings.json i zazwyczaj są nazywane Development , i Staging Production . Aby uzyskać więcej informacji, zobacz Praca z wieloma środowiskami.

  • --no-build

    Nie tworzy projektu przed uruchomieniem. Ponadto niejawne ustawia --no-restore flagę.

  • --no-dependencies

    Podczas przywracania projektu przy użyciu odwołań project-to-project (P2P) program przywraca projekt główny, a nie odwołania.

  • --no-launch-profile

    Nie próbuje użyć launchSettings.json do skonfigurowania aplikacji.

  • --no-restore

    Nie wykonuje niejawnego przywracania podczas uruchamiania polecenia.

  • --os <OS>

    Określa docelowy system operacyjny. Jest to skrócona składnia ustawiania identyfikatora środowiska uruchomieniowego (RID),gdzie podaną wartość jest łączona z domyślnym identyfikatorem RID. Na przykład na maszynie win-x64 określenie wartości ustawia rid na --os linux linux-x64 . Jeśli używasz tej opcji, nie używaj -r|--runtime tej opcji. Dostępne od wersji .NET 6.

  • --project <PATH>

    Określa ścieżkę pliku projektu do uruchomienia (nazwa folderu lub pełna ścieżka). Jeśli nie zostanie określony, zostanie domyślnie określony bieżący katalog.

    Skrót -p nazwy jest --project przestarzały, począwszy od zestawu SDK platformy .NET 6. Przez ograniczony czas, począwszy od zestawu SDK dla platformy .NET 6 RC1, można go nadal używać w programie -p --project pomimo ostrzeżenia o cofaniu obsługi. Jeśli argument podany dla opcji nie zawiera = argumentu , polecenie akceptuje -p jako skrót od --project . W przeciwnym razie polecenie zakłada, że -p jest to skrót od --property . To elastyczne użycie dla -p --project zostanie wycofane na platformie .NET 7.

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

    Ustawia co najmniej jedną MSBuild właściwości. Określ wiele właściwości rozdzielonych średnikami lub powtarzając opcję:

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

    Skróconej formy -p można użyć dla . --property Jeśli argument podany dla opcji zawiera wartość = , -p jest akceptowana jako skrót od --property . W przeciwnym razie polecenie zakłada, że -p jest to skrót od --project .

    Aby przekazać do aplikacji zamiast ustawiać właściwość MSBuild, podaj opcję --property po -- separatorze składni, na przykład:

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

    Określa docelowe środowisko uruchomieniowe, dla których mają zostać przywrócone pakiety. Aby uzyskać listę identyfikatorów środowiska uruchomieniowego (RID), zobacz katalog RID. -r dostępna od wersji .NET Core 3.0 SDK.

  • -v|--verbosity <LEVEL>

    Ustawia poziom szczegółowości polecenia. Dozwolone wartości to q[uiet] , , , i m[inimal] n[ormal] d[etailed] diag[nostic] . Wartość domyślna to minimal. Aby uzyskać więcej informacji, zobacz LoggerVerbosity.

Przykłady

  • Uruchom projekt w bieżącym katalogu:

    dotnet run
    
  • Uruchom określony projekt:

    dotnet run --project ./projects/proj1/proj1.csproj
    
  • Uruchom projekt w bieżącym katalogu, określając konfigurację wydania:

    dotnet run --property:Configuration=Release
    
  • Uruchom projekt w bieżącym katalogu (argument w tym przykładzie jest przekazywany do aplikacji, ponieważ jest używana --help pusta -- opcja):

    dotnet run --configuration Release -- --help
    
  • Przywróć zależności i narzędzia dla projektu w bieżącym katalogu, pokazując tylko minimalne dane wyjściowe, a następnie uruchom projekt:

    dotnet run --verbosity m