dotnet new <TEMPLATE>

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

Nazwisko

dotnet new — Tworzy nowy projekt, plik konfiguracji lub rozwiązanie na podstawie określonego szablonu.

Streszczenie

dotnet new <TEMPLATE> [--dry-run] [--force] [-lang|--language {"C#"|"F#"|VB}]
    [-n|--name <OUTPUT_NAME>] [-f|--framework <FRAMEWORK>] [--no-update-check]
    [-o|--output <OUTPUT_DIRECTORY>] [--project <PROJECT_PATH>]
    [-d|--diagnostics] [--verbosity <LEVEL>] [Template options]

dotnet new -h|--help

opis

Polecenie dotnet new tworzy projekt .NET lub inne artefakty na podstawie szablonu.

Polecenie wywołuje aparat szablonów, aby utworzyć artefakty na dysku na podstawie określonego szablonu i opcji.

Uwaga

Począwszy od zestawu .NET 7 SDK, składnia dotnet new uległa zmianie:

  • Opcje --list, --search, --installi --uninstall stały się listpoleceniami , installsearch, i uninstall podrzędnymi.
  • Opcja --update-apply stała się update podpolecenia.
  • Aby użyć --update-checkpolecenia , użyj update polecenia podrzędnego z opcją --check-only .

Inne opcje, które były dostępne wcześniej, są nadal dostępne do użycia z odpowiednimi podpoleceniami. Oddzielna pomoc dla każdego podpolecenia jest dostępna za pośrednictwem -h opcji lub --help : dotnet new <subcommand> --help zawiera listę wszystkich obsługiwanych opcji dla podpolecenia.

Ponadto uzupełnianie karty jest teraz dostępne dla programu dotnet new. Obsługuje uzupełnianie dla zainstalowanych nazw szablonów i opcji dostępnych przez wybrany szablon. Aby aktywować uzupełnianie kart dla zestawu .NET SDK, zobacz Włączanie uzupełniania kart.

Uzupełnianie kart

Począwszy od zestawu .NET SDK 7.0.100, uzupełnianie karty jest dostępne dla programu dotnet new. Obsługuje uzupełnianie dla zainstalowanych nazw szablonów, a także uzupełnianie opcji dostępnych przez wybrany szablon. Aby aktywować uzupełnianie kart dla zestawu .NET SDK, zobacz Włączanie uzupełniania kart.

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 rundotnet 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.

Argumenty

  • TEMPLATE

    Szablon do utworzenia wystąpienia podczas wywoływanego polecenia. Każdy szablon może mieć określone opcje, które można przekazać. Aby uzyskać więcej informacji, zobacz Opcje szablonu.

    Możesz uruchomić polecenie dotnet new list , aby wyświetlić listę wszystkich zainstalowanych szablonów.

    Począwszy od zestawu .NET Core 3.0 SDK i kończącego się zestawem .NET SDK 5.0.300, interfejs wiersza polecenia wyszukuje szablony w NuGet.org podczas wywoływania dotnet new polecenia w następujących warunkach:

    • Jeśli interfejs wiersza polecenia nie może znaleźć dopasowania szablonu podczas wywoływania dotnet new, nawet częściowe.
    • Jeśli jest dostępna nowsza wersja szablonu. W takim przypadku projekt lub artefakt jest tworzony, ale interfejs wiersza polecenia ostrzega o zaktualizowanej wersji szablonu.

    Począwszy od zestawu .NET SDK 5.0.300, search polecenie powinno służyć do wyszukiwania szablonów w NuGet.org.

W poniższej tabeli przedstawiono szablony, które zostały wstępnie zainstalowane przy użyciu zestawu .NET SDK. Domyślny język szablonu jest wyświetlany wewnątrz nawiasów kwadratowych. Kliknij link krótkiej nazwy, aby wyświetlić określone opcje szablonu.

Szablony Krótka nazwa Język Tagi Wprowadzono
Aplikacja konsolowa console [C#], F#, VB Common/Console 1.0
Biblioteka klas classlib [C#], F#, VB Common/Library 1.0
Aplikacja WPF wpf [C#], VB Common/WPF 3.0 (5.0 dla języka VB)
Biblioteka klas WPF wpflib [C#], VB Common/WPF 3.0 (5.0 dla języka VB)
Biblioteka kontrolek niestandardowych WPF wpfcustomcontrollib [C#], VB Common/WPF 3.0 (5.0 dla języka VB)
Biblioteka kontroli użytkownika WPF wpfusercontrollib [C#], VB Common/WPF 3.0 (5.0 dla języka VB)
Aplikacja Windows Forms (WinForms) winforms [C#], VB Common/WinForms 3.0 (5.0 dla języka VB)
Biblioteka klas formularzy systemu Windows (WinForms) winformslib [C#], VB Common/WinForms 3.0 (5.0 dla języka VB)
Usługa procesu roboczego worker [C#] Common/Worker/Web 3.0
Projekt testu jednostkowego mstest [C#], F#, VB Test/MSTest 1.0
Projekt testowy NUnit 3 nunit [C#], F#, VB Test/NUnit 2.1.400
Element testowy NUnit 3 nunit-test [C#], F#, VB Test/NUnit 2,2
Projekt testowy xUnit xunit [C#], F#, VB Test/xUnit 1.0
Składnik Razor razorcomponent [C#] Sieć Web/ASP.NET 3.0
Strona Razor page [C#] Sieć Web/ASP.NET 2.0
Widoki MVCPorty viewimports [C#] Sieć Web/ASP.NET 2.0
Widok MVCStart viewstart [C#] Sieć Web/ASP.NET 2.0
Blazor Aplikacja internetowa blazor [C#] Sieci web/Blazor 8.0.100
BlazorWebAssembly Aplikacja autonomiczna blazorwasm [C#] Sieć Web/Blazor/WebAssembly/PWA 3.1.300
Pusta ASP.NET Core web [C#], F# Sieć Web/pusty 1.0
ASP.NET Core Web App (Model-View-Controller) mvc [C#], F# Sieć Web/MVC 1.0
ASP.NET Core Web App webapp, razor [C#] Web/MVC/Razor Pages 2.2, 2.0
Biblioteka klas Razor razorclasslib [C#] Biblioteka klas Web/Razor/Library/Razor 2.1
Internetowy interfejs API platformy ASP.NET Core webapi [C#], F# Internetowy/internetowy interfejs API/interfejs API/usługa/WebAPI 1.0
ASP.NET Core API webapiaot [C#] Internetowy/internetowy interfejs API/interfejs API/usługa 8.0
kontroler interfejsu API platformy ASP.NET Core apicontroller [C#] Sieć Web/ASP.NET 8.0
ASP.NET Core gRPC Service grpc [C#] Sieć Web/gRPC 3.0
dotnet gitignore plik gitignore Config 3.0
plik global.json globaljson Config 2.0
Konfiguracja narzędzia NuGet nugetconfig Config 1.0
Plik manifestu narzędzia lokalnego Dotnet tool-manifest Config 3.0
Konfiguracja sieci Web webconfig Config 1.0
Plik rozwiązania sln Rozwiązanie 1.0
Plik buforu protokołu proto Sieć Web/gRPC 3.0
Plik EditorConfig editorconfig(.. /docs/core/tools/dotnet-new-sdk-templates.md#editorconfig) Config 6.0

W poniższej tabeli przedstawiono szablony, które zostały wycofane i nie są już wstępnie zainstalowane z zestawem .NET SDK. Kliknij link krótkiej nazwy, aby wyświetlić określone opcje szablonu.

Szablony Krótka nazwa Język Tagi Odkąd zaprzestano
ASP.NET Core z platformą Angular angular [C#] Sieć Web/MVC/SPA 8.0
ASP.NET Core z React.js react [C#] Sieć Web/MVC/SPA 8.0
Blazor Aplikacja serwera blazorserver [C#] Sieci web/Blazor 8.0
Blazor Pusta aplikacja serwera blazorserver-empty [C#] Sieci web/Blazor 8.0
BlazorWebAssembly Pusta aplikacja blazorwasm-empty [C#] Sieć Web/Blazor/WebAssembly 8.0

Opcje

  • --dry-run

    Przedstawia podsumowanie tego, co by się stało, gdyby dane polecenie zostało uruchomione, gdyby spowodowałoby utworzenie szablonu. Dostępny od wersji .NET Core 2.2 SDK.

  • --force

    Wymusza wygenerowanie zawartości, nawet jeśli spowoduje zmianę istniejących plików. Jest to wymagane, gdy wybrany szablon zastąpi istniejące pliki w katalogu wyjściowym.

  • -?|-h|--help

    Wyświetla pomoc dotyczącą polecenia . Można go wywołać dla dotnet new samego polecenia lub dla dowolnego szablonu. Na przykład dotnet new mvc --help.

  • -lang|--language {C#|F#|VB}

    Język szablonu do utworzenia. Akceptowany język różni się w zależności od szablonu (zobacz wartości domyślne w sekcji argumentów ). Nieprawidłowe dla niektórych szablonów.

    Uwaga

    Niektóre powłoki interpretują # jako znak specjalny. W takich przypadkach należy ująć wartość parametru języka w cudzysłowy. Na przykład dotnet new console -lang "F#".

  • -n|--name <OUTPUT_NAME>

    Nazwa utworzonych danych wyjściowych. Jeśli nie określono nazwy, używana jest nazwa bieżącego katalogu.

  • -f|--framework <FRAMEWORK>

    Określa platformę docelową. Oczekuje ona nazwy docelowej platformy (TFM). Przykłady: "net6.0", "net7.0-macos". Ta wartość zostanie odzwierciedlona w pliku projektu.

  • -no-update-check

    Wyłącza sprawdzanie aktualizacji pakietu szablonu podczas tworzenia wystąpienia szablonu. Dostępne od wersji .NET SDK 6.0.100. Podczas tworzenia wystąpienia szablonu z pakietu szablonu, który został zainstalowany przy użyciu programu dotnet new --install, sprawdza, dotnet new czy istnieje aktualizacja szablonu. Począwszy od platformy .NET 6, dla szablonów domyślnych platformy .NET nie są wykonywane żadne testy aktualizacji. Aby zaktualizować domyślne szablony platformy .NET, zainstaluj wersję poprawki zestawu .NET SDK.

  • -o|--output <OUTPUT_DIRECTORY>

    Lokalizacja do umieszczenia wygenerowanych danych wyjściowych. Domyślnie jest to katalog bieżący.

  • --project <PROJECT_PATH>

    Projekt, do którego został dodany szablon. Ten projekt jest używany do oceny kontekstu. Jeśli nie zostanie określony, zostanie użyty projekt w katalogach bieżących lub nadrzędnych. Dostępne od wersji 7.0.100 zestawu .NET SDK.

  • -d|--diagnostics

    Włącza dane wyjściowe diagnostyczne. Dostępne od wersji 7.0.100 zestawu .NET SDK.

  • -v|--verbosity <LEVEL>

    Ustawia poziom szczegółowości polecenia. Dozwolone wartości to q[uiet], , n[ormal]m[inimal]i diag[nostic]. Dostępne od wersji 7.0.100 zestawu .NET SDK.

Opcje szablonów

Każdy szablon może mieć zdefiniowane dodatkowe opcje. Aby uzyskać więcej informacji, zobacz Szablony domyślne platformy .NET dla programu dotnet new.

Przykłady

  • Utwórz projekt aplikacji konsolowej w języku C#:

    dotnet new console
    
  • Utwórz projekt aplikacji konsolowej języka F# w bieżącym katalogu:

    dotnet new console --language "F#"
    
  • Utwórz projekt biblioteki klas platformy .NET Standard 2.0 w określonym katalogu:

    dotnet new classlib --framework "netstandard2.0" -o MyLibrary
    
  • Utwórz nowy projekt MVC języka C# w języku ASP.NET Core w bieżącym katalogu bez uwierzytelniania:

    dotnet new mvc -au None
    
  • Utwórz nowy projekt xUnit:

    dotnet new xunit
    
  • Utwórz global.json w bieżącym katalogu ustawiając wersję zestawu SDK na 3.1.101:

    dotnet new globaljson --sdk-version 3.1.101
    
  • Pokaż pomoc dotyczącą szablonu aplikacji konsolowej języka C#:

    dotnet new console -h
    
  • Pokaż pomoc dotyczącą szablonu aplikacji konsolowej języka F#:

    dotnet new console --language "F#" -h
    

Zobacz też