dotnet run
Ten artykuł dotyczy: ✔️ zestaw .NET Core 3.1 SDK i nowsze wersje
dotnet run
- Uruchamia kod źródłowy bez jawnego kompilowania lub uruchamiania poleceń.
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
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 dotnet build
od polecenia do skompilowania kodu. Wszelkie wymagania dotyczące kompilacji mają również zastosowanie dotnet run
.
Uwaga
dotnet run
nie uwzględnia argumentów, takich jak /property:property=value
, które są przestrzegane przez dotnet build
.
Pliki wyjściowe są zapisywane w domyślnej lokalizacji, czyli bin/<configuration>/<target>
. Jeśli na przykład masz aplikację netcoreapp2.1
i uruchomisz dotnet run
polecenie , dane wyjściowe są umieszczane w pliku bin/Debug/netcoreapp2.1
. Pliki są zastępowane zgodnie z potrzebami. Pliki tymczasowe są umieszczane w obj
katalogu.
Jeśli projekt określa wiele struktur, wykonywanie dotnet run
wyników powoduje błąd, 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 wbudowanych zestawów. 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 dotnet
temat sterownika, zobacz temat .NET Command Line Tools (CLI).
Aby uruchomić aplikację, dotnet run
polecenie rozwiązuje zależności aplikacji, które znajdują się poza udostępnionym środowiskiem uruchomieniowym z pamięci podręcznej NuGet. Ponieważ używa on buforowanych zależności, 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.
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 publish
, i 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 usługach Azure DevOps Services lub w systemach kompilacji, które muszą jawnie kontrolować, kiedy nastąpi przywracanie.
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
). Opcje formularza krótkiego, takie jak -s
, nie są obsługiwane.
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.
--
Ogranicz argumenty do
dotnet run
z 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ślenie--arch x86
ustawia identyfikator RID nawin-x86
wartość . Jeśli używasz tej opcji, nie używaj-r|--runtime
opcji . Dostępne od wersji zapoznawczej 7 platformy .NET 6.
-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 wersji .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
,Staging
iProduction
. 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żywać launchSettings.json do konfigurowania 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ślenie--os linux
ustawia identyfikator RID nalinux-x64
wartość . 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, zostanie on domyślnie określony w bieżącym katalogu.
Skrót
-p
dla--project
jest przestarzały , począwszy od zestawu SDK platformy .NET 6. Przez ograniczony czas rozpoczynający się w zestawie SDK-p
.NET 6 RC1 można nadal używać funkcji--project
dla niezależnie od ostrzeżenia o wycofaniu. Jeśli argument podany dla opcji nie zawiera=
parametru , 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-p
programu dla--project
programu zostanie wycofane na platformie .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 elementu--property
. Jeśli argument podany dla opcji zawiera=
,-p
jest akceptowany jako krótki dla--property
. 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, dla których mają być przywracane pakiety. Aby uzyskać listę identyfikatorów środowiska uruchomieniowego (RID), zobacz wykaz identyfikatorów RID.
--tl:[auto|on|off]
Określa, czy rejestrator terminalu ma być używany dla danych wyjściowych kompilacji. Wartość domyślna to
auto
, która najpierw weryfikuje środowisko przed włączeniem rejestrowania terminalu. Sprawdzanie środowiska sprawdza, czy terminal może korzystać z nowoczesnych funkcji wyjściowych i nie używa przekierowanych standardowych danych wyjściowych przed włączeniem nowego rejestratora.on
Pomija sprawdzanie środowiska i włącza rejestrowanie terminalu.off
Pomija sprawdzanie środowiska i używa domyślnego rejestratora konsoli.Rejestrator terminalu pokazuje fazę przywracania, po której następuje faza kompilacji. W każdej fazie obecnie projekty budowlane są wyświetlane w dolnej części terminalu. Każdy projekt, który tworzy, generuje dane wyjściowe zarówno docelowy programu MSBuild, który jest obecnie kompilowany, jak i ilość czasu spędzonego na tym obiekcie docelowym. Możesz wyszukać te informacje, aby dowiedzieć się więcej o kompilacji. Po zakończeniu kompilowania projektu zostanie napisana pojedyncza sekcja "ukończona kompilacja", która przechwytuje:
- Nazwa utworzonego projektu.
- Struktura docelowa (jeśli jest przeznaczona dla wielu celów).
- Stan tej kompilacji.
- Podstawowe dane wyjściowe tej kompilacji (która jest hiperlinkowana).
- Każda diagnostyka wygenerowana dla tego projektu.
Ta opcja jest dostępna począwszy od platformy .NET 8.
-v|--verbosity <LEVEL>
Ustawia poziom szczegółowości polecenia. Dozwolone wartości to
q[uiet]
, ,n[ormal]
m[inimal]
,d[etailed]
, idiag[nostic]
. Wartość domyślna tominimal
. Aby uzyskać więcej informacji, zobacz LoggerVerbosity.
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
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię: