dotnet run

Ten artykuł dotyczy: ✔️ zestaw .NET Core 3.1 SDK i nowsze wersje

Nazwa

dotnet run - Uruchamia kod źródłowy bez jawnych poleceń kompilowania 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 dotnet run zapewnia wygodną opcję uruchamiania aplikacji z kodu źródłowego za pomocą jednego polecenia. Jest to przydatne w przypadku szybkiego iteracyjnego programowania z poziomu wiersza polecenia. Polecenie zależy od dotnet build polecenia, aby skompilować kod. Wszelkie wymagania dotyczące kompilacji, takie jak to, że projekt musi zostać przywrócony, należy również zastosować dotnet run .

Uwaga

dotnet run nie szanuje 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 dotnet runpolecenie , dane wyjściowe są umieszczane w bin/Debug/netcoreapp2.1pliku . Pliki są zastępowane zgodnie z potrzebami. Pliki tymczasowe są umieszczane w obj katalogu.

Jeśli projekt określa wiele struktur, wykonanie dotnet run powoduje wystąpienie błędu, chyba że -f|--framework <FRAMEWORK> opcja zostanie użyta do określenia struktury.

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

dotnet myapp.dll

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

Aby uruchomić aplikację, dotnet run polecenie rozwiązuje zależności aplikacji spoza udostępnionego środowiska uruchomieniowego z pamięci podręcznej NuGet. Ponieważ używa on zależności buforowanych, nie zaleca się używania dotnet run ich do uruchamiania aplikacji w środowisku produkcyjnym. Zamiast tego utwórz wdrożenie przy użyciu dotnet publish polecenia i wdróż opublikowane dane wyjściowe.

Niejawne przywracanie

Nie trzeba uruchamiać, dotnet restore ponieważ jest ona uruchamiana niejawnie przez wszystkie polecenia, które wymagają przywrócenia, takie jak dotnet new, dotnet build, dotnet run, , dotnet test, , dotnet publishi dotnet pack. Aby wyłączyć niejawne przywracanie, użyj --no-restore opcji .

Polecenie dotnet restore jest nadal przydatne w niektórych scenariuszach, w których jawne przywracanie ma sens, takie jak kompilacje ciągłej integracji w Azure DevOps Services lub w systemach kompilacji, które muszą jawnie kontrolować po zakończeniu przywracania.

Aby uzyskać informacje na temat zarządzania kanałami informacyjnymi NuGet, zobacz dokumentacjędotnet restore.

To polecenie obsługuje dotnet restore opcje przekazywane w długim formularzu (na przykład --source). Krótkie opcje formularza, takie jak -s, nie są obsługiwane.

Pliki do pobrania manifestu obciążenia

Po uruchomieniu tego polecenia inicjuje asynchroniczne pobieranie manifestów reklamowych dla obciążeń. Jeśli pobieranie jest nadal uruchomione po zakończeniu tego polecenia, pobieranie zostanie zatrzymane. Aby uzyskać więcej informacji, zobacz Manifesty reklamowe.

Opcje

  • --

    Rozdziela argumenty z dotnet run 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 ustawiania identyfikatora środowiska uruchomieniowego (RID), gdzie podana wartość jest połączona z domyślnym identyfikatorem RID. Na przykład na maszynie win-x64 określ ustawienie --arch x86 identyfikatora RID na win-x86wartość . Jeśli używasz tej opcji, nie używaj -r|--runtime opcji. Dostępne od platformy .NET 6 (wersja zapoznawcza 7).

  • -c|--configuration <CONFIGURATION>

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

  • -f|--framework <FRAMEWORK>

    Kompiluje i uruchamia aplikację przy użyciu określonej platformy. Struktura musi być określona w pliku projektu.

  • --force

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

  • -?|-h|--help

    Wyświetla opis sposobu używania polecenia.

  • --interactive

    Umożliwia zatrzymanie polecenia i oczekiwanie na wprowadzenie lub działanie użytkownika. Na przykład w celu ukończenia uwierzytelniania. Dostępny od zestawu .NET Core 3.0 SDK.

  • --launch-profile <NAME>

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

  • --no-build

    Nie kompiluje projektu przed uruchomieniem. Ponadto niejawnie ustawia flagę --no-restore .

  • --no-dependencies

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

  • --no-launch-profile

    Nie próbuje użyć pliku 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 podana wartość jest połączona z domyślnym identyfikatorem RID. Na przykład na maszynie win-x64 określ ustawienie --os linux identyfikatora RID na linux-x64wartość . Jeśli używasz tej opcji, nie używaj -r|--runtime opcji. Dostępne od platformy .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, domyślnie jest to bieżący katalog.

    Skrót-p dla --project jest przestarzały, począwszy od zestawu .NET 6 SDK. W przypadku ograniczonego czasu rozpoczynającego się w zestawie SDK -p .NET 6 RC1 można nadal używać polecenia --project pomimo ostrzeżenia o wycofaniu. Jeśli argument podany dla opcji nie zawiera =polecenia , polecenie przyjmuje -p jako skrót .--project W przeciwnym razie polecenie zakłada, że -p jest to skrót od --property. To elastyczne użycie dla -p programu --project zostanie wycofane w środowisku .NET 7.

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

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

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

    Krótki formularz -p może być używany dla --propertyprogramu . Jeśli argument podany dla opcji zawiera =wartość , -p zostanie zaakceptowany jako krótki dla --propertyparametru . W przeciwnym razie polecenie zakłada, że -p jest to skrót od --project.

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

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

    Określa docelowe środowisko uruchomieniowe do przywracania pakietów. Aby uzyskać listę identyfikatorów środowiska uruchomieniowego (RID), zobacz wykaz identyfikatorów RID.

  • -v|--verbosity <LEVEL>

    Ustawia poziom szczegółowości polecenia. Dozwolone wartości to q[uiet], , m[inimal], d[etailed]n[ormal], i 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 ( --help argument w tym przykładzie jest przekazywany do aplikacji, ponieważ jest używana pusta -- opcja):

    dotnet run --configuration Release -- --help
    
  • Przywróć zależności i narzędzia dla projektu w bieżącym katalogu tylko z minimalnymi danymi wyjściowymi, a następnie uruchom projekt:

    dotnet run --verbosity m