dotnet new <TEMPLATE>
Эта статья относится к: ✔️ пакету SDK для .NET Core 3.1 и более поздних версий
Имя.
dotnet new
- создает проект, файл конфигурации или решений на основе указанного шаблона.
Краткие сведения
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
Description
Команда dotnet new
создает проект .NET или другие артефакты на основе шаблона.
Она вызывает подсистему шаблонов, чтобы создать артефакты на диске на основе заданных параметров и шаблона.
Примечание.
Начиная с пакета SDK dotnet new
для .NET 7 синтаксис изменился:
--list
,--search
--install
и--uninstall
варианты сталиlist
,search
install
иuninstall
подкомандами.- Параметр
--update-apply
сталupdate
подкомандам. - Чтобы использовать
--update-check
, используйтеupdate
подкоманда с параметром--check-only
.
Другие варианты, которые были доступны раньше, по-прежнему доступны для использования с соответствующими подкомандами.
Отдельная справка для каждого подкоманда доступна с помощью -h
или --help
параметра: dotnet new <subcommand> --help
перечисляет все поддерживаемые параметры для подкоманда.
Кроме того, теперь доступно dotnet new
завершение вкладки. Он поддерживает завершение для установленных имен шаблонов и для параметров выбранного шаблона.
Чтобы активировать завершение вкладки для пакета SDK для .NET, см. раздел "Включить завершение вкладки".
Заполнение нажатием клавиши TAB
Начиная с пакета SDK для .NET 7.0.100, для завершения вкладки доступен dotnet new
. Он поддерживает завершение для установленных имен шаблонов, а также завершения для параметров выбранного шаблона.
Чтобы активировать завершение вкладки для пакета SDK для .NET, см. раздел "Включить завершение вкладки".
Неявное восстановление
Вам не нужно выполнять команду dotnet restore
, так как она выполняется неявно всеми командами, которые требуют восстановления, например dotnet new
, dotnet build
, dotnet run
, dotnet test
, dotnet publish
и dotnet pack
. Чтобы отключить неявное восстановление, используйте параметр --no-restore
.
Команду dotnet restore
по-прежнему удобно использовать в некоторых сценариях, где необходимо явное восстановление, например в сборках с использованием непрерывной интеграции в Azure DevOps Services или системах сборки, где требуется явно контролировать время восстановления.
Сведения об управлении веб-каналами NuGet см. в документации по dotnet restore
.
Аргументы
TEMPLATE
Шаблон для создания экземпляров при вызове команды. Каждый шаблон может иметь отдельные параметры, доступные для передачи. Дополнительные сведения см. в разделе Параметры шаблона.
Вы можете выполнить
dotnet new list
, чтобы просмотреть список всех установленных шаблонов.Начиная с пакета SDK для .NET Core 3.0 и заканчивая пакетом SDK для .NET 5.0.300, интерфейс командной строки ищет шаблоны в NuGet.org при вызове
dotnet new
команды в следующих условиях:- если CLI не может найти совпадение шаблона при вызове
dotnet new
, даже частичное; - если доступна более новая версия шаблона. В этом случае проект или артефакт создается, но CLI предупреждает об обновленной версии шаблона.
Начиная с пакета SDK для .NET 5.0.300,
search
команда должна использоваться для поиска шаблонов в NuGet.org.- если CLI не может найти совпадение шаблона при вызове
В следующей таблице представлены шаблоны, которые устанавливаются вместе с пакетом SDK для .NET. Язык по умолчанию для шаблона указан внутри квадратных скобок. Нажмите на ссылку с коротким названием, чтобы увидеть конкретные параметры шаблона.
Шаблоны | Короткое имя | Язык | Теги | Введенный |
---|---|---|---|---|
Консольное приложение | console |
[C#], F#, VB | Общее/консоль | 1.0 |
Библиотека классов | classlib |
[C#], F#, VB | Общее/библиотека | 1.0 |
Приложение WPF | wpf |
[C#], VB | Общее/WPF | 3.0 (5.0 для VB) |
Библиотека классов WPF | wpflib |
[C#], VB | Общее/WPF | 3.0 (5.0 для VB) |
Библиотека настраиваемых элементов управления WPF | wpfcustomcontrollib |
[C#], VB | Общее/WPF | 3.0 (5.0 для VB) |
Библиотека пользовательских элементов управления WPF | wpfusercontrollib |
[C#], VB | Общее/WPF | 3.0 (5.0 для VB) |
Приложение Windows Forms (WinForms) | winforms |
[C#], VB | Общее (WinForms) | 3.0 (5.0 для VB) |
Библиотека классов для Windows Forms (WinForms) | winformslib |
[C#], VB | Общее (WinForms) | 3.0 (5.0 для VB) |
Служба рабочих ролей | worker |
[C#] | Общее/Рабочая роль/Веб | 3.0 |
Тестовый проект MSTest | mstest |
[C#], F#, VB | Тест/MSTest | 1.0 |
Класс тестирования MSTest | mstest-class |
[C#], F#, VB | Тест/MSTest | 1.0 |
Тестовый проект NUnit 3 | nunit |
[C#], F#, VB | Тест/NUnit | 2.1.400 |
Элемент теста NUnit 3 | nunit-test |
[C#], F#, VB | Тест/NUnit | 2,2 |
Тестовый проект xUnit | xunit |
[C#], F#, VB | Тест/xUnit | 1.0 |
Компонент Razor | razorcomponent |
[C#] | Веб/ASP.NET | 3.0 |
Страница Razor | page |
[C#] | Веб/ASP.NET | 2.0 |
MVC ViewImports | viewimports |
[C#] | Веб/ASP.NET | 2.0 |
MVC ViewStart | viewstart |
[C#] | Веб/ASP.NET | 2.0 |
Blazor Веб-приложение | blazor |
[C#] | Веб/Blazor | 8.0.100 |
BlazorWebAssembly Автономное приложение | blazorwasm |
[C#] | Web/Blazor/WebAssembly/PWA | 3.1.300 |
Пустой ASP.NET Core | web |
[C#], F# | Веб/пусто | 1.0 |
Веб-приложение ASP.NET Core (модель — представление — контроллер) | mvc |
[C#], F# | Веб/MVC | 1.0 |
Веб-приложение ASP.NET Core | webapp, razor |
[C#] | Веб/MVC и Razor Pages | 2.2, 2.0 |
Библиотека классов Razor | razorclasslib |
[C#] | Веб/Razor/Библиотека/Библиотека классов Razor | 2.1 |
Веб-API ASP.NET Core | webapi |
[C#], F# | Веб-API/API/Service/WebAPI | 1.0 |
ASP.NET Core API | webapiaot |
[C#] | Веб-API/ВЕБ-API/СЛУЖБА | 8.0 |
контроллер API ASP.NET Core | apicontroller |
[C#] | Веб/ASP.NET | 8.0 |
Служба gRPC ASP.NET Core | grpc |
[C#] | Веб/gRPC | 3.0 |
Файл dotnet gitignore | gitignore |
Config | 3.0 | |
Файл global.json | globaljson |
Config | 2.0 | |
Конфигурация NuGet | nugetconfig |
Config | 1.0 | |
Локальное средство файла манифеста dotnet | tool-manifest |
Config | 3.0 | |
Файл веб-конфигурации | webconfig |
Config | 1.0 | |
Файл решения | sln |
Решение | 1.0 | |
Файл буфера протокола | proto |
Веб/gRPC | 3.0 | |
Файл EditorConfig | editorconfig |
Config | 6,0 |
В следующей таблице показаны шаблоны, которые были прекращены и больше не установлены с помощью пакета SDK для .NET. Нажмите на ссылку с коротким названием, чтобы увидеть конкретные параметры шаблона.
Шаблоны | Короткое имя | Язык | Теги | Прекращено с момента |
---|---|---|---|---|
Использование ASP.NET Core с Angular | angular |
[C#] | MVC/Веб/SPA | 8.0 |
Использование ASP.NET Core с React.js | react |
[C#] | MVC/Веб/SPA | 8.0 |
Серверное приложение Blazor | blazorserver |
[C#] | Веб/Blazor | 8.0 |
Пустое приложение Blazor Server | blazorserver-empty |
[C#] | Веб/Blazor | 8.0 |
Пустое приложение Blazor WebAssembly | blazorwasm-empty |
[C#] | Web/Blazor/WebAssembly | 8.0 |
Параметры
--dry-run
Отображает сводку того, что произойдет, если выполнить команду и это приведет к созданию шаблона. Доступно начиная с пакета SDK для .NET Core 2.2.
--force
Принудительное создание содержимого, даже если при этом изменяются существующие файлы. Это необходимо, когда выбранный шаблон переопределяет существующие файлы в выходном каталоге.
-?|-h|--help
Распечатывает справку для команды. Его можно вызвать для самой команды
dotnet new
или для любого шаблона. Например,dotnet new mvc --help
.-lang|--language {C#|F#|VB}
Язык создаваемого шаблона. Допустимый язык зависит от шаблона (см. значения по умолчанию в разделе об аргументах). Не является допустимым для некоторых шаблонов.
Примечание.
Некоторые оболочки интерпретируют
#
как специальный символ. В этих случаях заключите значение языкового параметра в кавычки. Например,dotnet new console -lang "F#"
.-n|--name <OUTPUT_NAME>
Имя создаваемых выходных данных. Если имя не указано, используется имя текущего каталога.
-f|--framework <FRAMEWORK>
Задает целевую платформу. Он ожидает моникер целевой платформы (TFM). Примеры: net6.0, net7.0-macos. Это значение будет отражено в файле проекта.
-no-update-check
Отключает проверку наличия обновлений для пакета шаблона при создании экземпляра этого шаблона. Доступно с пакета SDK для .NET 6.0.100. При создании экземпляра шаблона из пакета шаблона, который был установлен командой
dotnet new --install
,dotnet new
проверяет наличие обновления для этого шаблона. Начиная с .NET 6 проверки обновлений не выполняются для стандартных шаблонов .NET. Чтобы обновить стандартные шаблоны .NET, установите версию пакета SDK для .NET с исправлениями.-o|--output <OUTPUT_DIRECTORY>
Расположение, в котором размещаются созданные выходные данные. По умолчанию используется текущий каталог.
--project <PROJECT_PATH>
Проект, в который добавляется шаблон. Этот проект используется для оценки контекста. Если он не указан, будет использоваться проект в текущих или родительских каталогах. Доступно с версии пакета SDK для .NET 7.0.100.
-d|--diagnostics
Включает вывод диагностических данных. Доступно с версии пакета SDK для .NET 7.0.100.
-v|--verbosity <LEVEL>
Задает уровень детализации команды. Допустимые значения —
q[uiet]
,m[inimal]
,n[ormal]
иdiag[nostic]
. Доступно с версии пакета SDK для .NET 7.0.100.
Параметры шаблонов
Каждый шаблон может содержать дополнительные определенные параметры. Дополнительные сведения см. в статье Шаблоны .NET по умолчанию для dotnet new
.
Примеры
Создайте проект консольного приложения C#:
dotnet new console
Создание проекта консольного приложения F# в текущем каталоге:
dotnet new console --language "F#"
Создайте проект библиотеки классов .NET 2.0 Standard в указанном каталоге:
dotnet new classlib --framework "netstandard2.0" -o MyLibrary
Создайте новый проект MVC ASP.NET Core C# в текущем каталоге без проверки подлинности:
dotnet new mvc -au None
Создайте новый проект xUnit:
dotnet new xunit
Создайте global.json в текущем каталоге, задав пакет SDK версии 8.0.101:
dotnet new globaljson --sdk-version 8.0.101 --roll-forward latestFeature
Отобразить справку для шаблона консольного приложения C#:
dotnet new console -h
Отобразить справку для шаблона консольного приложения F#:
dotnet new console --language "F#" -h