dotnet-new-sdk-templates - Man Page
.NET default templates for dotnet new
Description
When you install the .NET SDK (https://dotnet.microsoft.com/download), you receive over a dozen built-in templates for creating projects and files, including console apps, class libraries, unit test projects, ASP.NET Core apps (including Angular (https://angular.io/) and React (https://reactjs.org/) projects), and configuration files. To list the built-in templates, run the dotnet new list
command:
dotnet new list
The following table shows the templates that come pre-installed with the .NET SDK. The default language for the template is shown inside the brackets. Click on the short name link to see the specific template options.
Templates | Short name | Language | Tags | Introduced |
Console Application | console | [C#], F#, VB | Common/Console | 1.0 |
Class library | classlib | [C#], F#, VB | Common/Library | 1.0 |
WPF Application | wpf | [C#], VB | Common/WPF | 3.0 (5.0 for VB) |
WPF Class library | wpflib | [C#], VB | Common/WPF | 3.0 (5.0 for VB) |
WPF Custom Control Library | wpfcustomcontrollib | [C#], VB | Common/WPF | 3.0 (5.0 for VB) |
WPF User Control Library | wpfusercontrollib | [C#], VB | Common/WPF | 3.0 (5.0 for VB) |
Windows Forms (WinForms) Application | winforms | [C#], VB | Common/WinForms | 3.0 (5.0 for VB) |
Windows Forms (WinForms) Class library | winformslib | [C#], VB | Common/WinForms | 3.0 (5.0 for VB) |
Worker Service | worker | [C#] | Common/Worker/Web | 3.0 |
Unit Test Project | mstest | [C#], F#, VB | Test/MSTest | 1.0 |
NUnit 3 Test Project | nunit | [C#], F#, VB | Test/NUnit | 2.1.400 |
NUnit 3 Test Item | nunit-test | [C#], F#, VB | Test/NUnit | 2.2 |
xUnit Test Project | xunit | [C#], F#, VB | Test/xUnit | 1.0 |
Razor Component | razorcomponent | [C#] | Web/ASP.NET | 3.0 |
Razor Page | page | [C#] | Web/ASP.NET | 2.0 |
MVC ViewImports | viewimports | [C#] | Web/ASP.NET | 2.0 |
MVC ViewStart | viewstart | [C#] | Web/ASP.NET | 2.0 |
Blazor Server App | blazorserver | [C#] | Web/Blazor | 3.0 |
Blazor Server App Empty | blazorserver-empty | [C#] | Web/Blazor | 7.0 |
Blazor WebAssembly App | blazorwasm | [C#] | Web/Blazor/WebAssembly | 3.1.300 |
Blazor WebAssembly App Empty | blazorwasm-empty | [C#] | Web/Blazor/WebAssembly | 7.0 |
ASP.NET Core Empty | web | [C#], F# | Web/Empty | 1.0 |
ASP.NET Core Web App (Model-View-Controller) | mvc | [C#], F# | Web/MVC | 1.0 |
ASP.NET Core Web App | webapp, razor | [C#] | Web/MVC/Razor Pages | 2.2, 2.0 |
ASP.NET Core with Angular | angular | [C#] | Web/MVC/SPA | 2.0 |
ASP.NET Core with React.js | react | [C#] | Web/MVC/SPA | 2.0 |
Razor Class Library | razorclasslib | [C#] | Web/Razor/Library/Razor Class Library | 2.1 |
ASP.NET Core Web API | webapi | [C#], F# | Web/Web API/API/Service/WebAPI | 1.0 |
ASP.NET Core API | webapiaot | [C#] | Web/Web API/API/Service | 8.0 |
ASP.NET Core gRPC Service | grpc | [C#] | Web/gRPC | 3.0 |
dotnet gitignore file | gitignore | Config | 3.0 | |
global.json file | globaljson | Config | 2.0 | |
NuGet Config | nugetconfig | Config | 1.0 | |
Dotnet local tool manifest file | tool-manifest | Config | 3.0 | |
Web Config | webconfig | Config | 1.0 | |
Solution File | sln | Solution | 1.0 | |
Protocol Buffer File | proto | Web/gRPC | 3.0 | |
EditorConfig file | editorconfig (#editorconfig) | Config | 6.0 |
Template options
Each template may have additional options available. To show the additional options available for the template use the --help
option with the template name argument, for example: dotnet new console --help
. In case the template supports multiple languages, this command will show help for the template in the default language. By combining it with the --language
option, you can see the help for other languages: dotnet new console --help --language F#
. The templates that ship with the .NET SDK have the following additional options:
console
-f|--framework <FRAMEWORK>
Specifies the framework to target. Available since .NET Core 3.0 SDK.
The following table lists the default values according to the SDK version you’re using:
SDK version Default value 7.0 net7.0
6.0 net6.0
3.1 netcoreapp3.1
The ability to create a project for an earlier TFM depends on having that version of the SDK installed. For example, if you have only the .NET 7 SDK installed, then the only value available for
--framework
isnet7.0
. If you install the .NET 6 SDK the valuenet6.0
becomes available for--framework
. If you install the .NET Core 3.1 SDK,netcoreapp3.1
becomes available, and so on. So by specifying--framework netcoreapp3.1
you can target .NET Core 3.1 even while runningdotnet new
in the .NET 6 SDK.Alternatively, to create a project that targets a framework earlier than the SDK that you’re using, you might be able to do it by installing the NuGet package for the template. Common (https://www.nuget.org/packages?q=Microsoft.DotNet.Common.ProjectTemplates), web (https://www.nuget.org/packages?q=Microsoft.DotNet.Web.ProjectTemplates), and SPA (https://www.nuget.org/packages?q=Microsoft.DotNet.Web.Spa.ProjectTemplates) project types use different packages per target framework moniker (TFM). For example, to create a
console
project that targetsnetcoreapp1.0
, rundotnet new install
onMicrosoft.DotNet.Common.ProjectTemplates.1.x
.--langVersion <VERSION_NUMBER>
Sets the
LangVersion
property in the created project file. For example, use--langVersion 7.3
to use C# 7.3. Not supported for F#. Available since .NET Core 2.2 SDK.For a list of default C# versions, see Defaults.
--no-restore
If specified, doesn’t execute an implicit restore during project creation. Available since .NET Core 2.2 SDK.
--use-program-main
If specified, an explicit
Program
class andMain
method will be used instead of top-level statements. Available since .NET SDK 6.0.300. Default value:false
. Available only for C#.
* * * * *
classlib
-f|--framework <FRAMEWORK>
Specifies the framework to target. Values:
net7.0
,net6.0
, ornetcoreapp3.1
to create a .NET Class Library ornetstandard2.1
ornetstandard2.0
to create a .NET Standard Class Library. The default value for .NET SDK 7.0.x isnet7.0
.To create a project that targets a framework earlier than the SDK that you’re using, see
--framework
forconsole
projects earlier in this article.--langVersion <VERSION_NUMBER>
Sets the
LangVersion
property in the created project file. For example, use--langVersion 7.3
to use C# 7.3. Not supported for F#. Available since .NET Core 2.2 SDK.For a list of default C# versions, see Defaults.
--no-restore
Doesn’t execute an implicit restore during project creation.
* * * * *
wpf, wpflib, wpfcustomcontrollib, wpfusercontrollib
-f|--framework <FRAMEWORK>
Specifies the framework to target. For the .NET 6 SDK, the default value is
net6.0
. Available since .NET Core 3.1 SDK.--langVersion <VERSION_NUMBER>
Sets the
LangVersion
property in the created project file. For example, use--langVersion 7.3
to use C# 7.3.For a list of default C# versions, see Defaults.
--no-restore
Doesn’t execute an implicit restore during project creation.
* * * * *
winforms, winformslib
--langVersion <VERSION_NUMBER>
Sets the
LangVersion
property in the created project file. For example, use--langVersion 7.3
to use C# 7.3.For a list of default C# versions, see Defaults.
--no-restore
Doesn’t execute an implicit restore during project creation.
* * * * *
worker, grpc
-f|--framework <FRAMEWORK>
Specifies the framework to target. The default value for .NET 7 SDK is
net7.0
. Available since .NET Core 3.1 SDK.To create a project that targets a framework earlier than the SDK that you’re using, see
--framework
forconsole
projects earlier in this article.--exclude-launch-settings
Excludes launchSettings.json from the generated template.
--no-restore
Doesn’t execute an implicit restore during project creation.
--use-program-main
If specified, an explicit
Program
class andMain
method will be used instead of top-level statements. Available since .NET SDK 6.0.300. Default value:false
.
* * * * *
mstest, xunit
-f|--framework <FRAMEWORK>
Specifies the framework to target. Option available since .NET Core 3.0 SDK.
The following table lists the default values according to the SDK version number you’re using:
SDK version Default value 6.0 net6.0
5.0 net5.0
3.1 netcoreapp3.1
The ability to create a project for an earlier TFM depends on having that version of the SDK installed. For example, if you have only the .NET 6 SDK installed, then the only value available for --framework
is net6.0
. If you install the .NET 5 SDK, the value net5.0
becomes available for --framework
. If you install the .NET Core 3.1 SDK, netcoreapp3.1
becomes available, and so on. So by specifying --framework netcoreapp3.1
you can target .NET Core 3.1 even while running dotnet new
in the .NET 6 SDK.
-p|--enable-pack
Enables packaging for the project using dotnet pack.
--no-restore
Doesn’t execute an implicit restore during project creation.
* * * * *
nunit
-f|--framework <FRAMEWORK>
Specifies the framework to target.
The following table lists the default values according to the SDK version number you’re using:
SDK version Default value 6.0 net6.0
5.0 net5.0
3.1 netcoreapp3.1
The ability to create a project for an earlier TFM depends on having that version of the SDK installed. For example, if you have only the .NET 6 SDK installed, then the only value available for --framework
is net6.0
. If you install the .NET 5 SDK, the value net5.0
becomes available for --framework
. If you install the .NET Core 3.1 SDK, netcoreapp3.1
becomes available, and so on. So by specifying --framework netcoreapp3.1
you can target .NET Core 3.1 even while running dotnet new
in the .NET 6 SDK.
-p|--enable-pack
Enables packaging for the project using dotnet pack.
--no-restore
Doesn’t execute an implicit restore during project creation.
* * * * *
page
-na|--namespace <NAMESPACE_NAME>
Namespace for the generated code. The default value is
MyApp.Namespace
.-np|--no-pagemodel
Creates the page without a PageModel.
* * * * *
viewimports, proto
-na|--namespace <NAMESPACE_NAME>
Namespace for the generated code. The default value is
MyApp.Namespace
.
* * * * *
blazorserver
-au|--auth <AUTHENTICATION_TYPE>
The type of authentication to use. The possible values are:
None
- No authentication (Default).Individual
- Individual authentication.IndividualB2C
- Individual authentication with Azure AD B2C.SingleOrg
- Organizational authentication for a single tenant.MultiOrg
- Organizational authentication for multiple tenants.Windows
- Windows authentication.
--aad-b2c-instance <INSTANCE>
The Azure Active Directory B2C instance to connect to. Use with
IndividualB2C
authentication. The default value ishttps://login.microsoftonline.com/tfp/
.-ssp|--susi-policy-id <ID>
The sign-in and sign-up policy ID for this project. Use with
IndividualB2C
authentication.-rp|--reset-password-policy-id <ID>
The reset password policy ID for this project. Use with
IndividualB2C
authentication.-ep|--edit-profile-policy-id <ID>
The edit profile policy ID for this project. Use with
IndividualB2C
authentication.--aad-instance <INSTANCE>
The Azure Active Directory instance to connect to. Use with
SingleOrg
orMultiOrg
authentication. The default value ishttps://login.microsoftonline.com/
.--client-id <ID>
The Client ID for this project. Use with
IndividualB2C
,SingleOrg
, orMultiOrg
authentication. The default value is11111111-1111-1111-11111111111111111
.--domain <DOMAIN>
The domain for the directory tenant. Use with
SingleOrg
orIndividualB2C
authentication. The default value isqualified.domain.name
.--tenant-id <ID>
The TenantId ID of the directory to connect to. Use with
SingleOrg
authentication. The default value is22222222-2222-2222-2222-222222222222
.--callback-path <PATH>
The request path within the application’s base path of the redirect URI. Use with
SingleOrg
orIndividualB2C
authentication. The default value is/signin-oidc
.-r|--org-read-access
Allows this application read-access to the directory. Only applies to
SingleOrg
orMultiOrg
authentication.--exclude-launch-settings
Excludes launchSettings.json from the generated template.
--no-https
Turns off HTTPS. This option only applies if
Individual
,IndividualB2C
,SingleOrg
, orMultiOrg
aren’t being used for--auth
.-uld|--use-local-db
Specifies LocalDB should be used instead of SQLite. Only applies to
Individual
orIndividualB2C
authentication.--no-restore
Doesn’t execute an implicit restore during project creation.
--kestrelHttpPort
Port number to use for the HTTP endpoint in launchSettings.json.
--kestrelHttpsPort
Port number to use for the HTTPS endpoint in launchSettings.json. This option is not applicable when the parameter
no-https
is used (butno-https
is ignored when an individual or organizational authentication setting is chosen for--auth
).--use-program-main
If specified, an explicit
Program
class andMain
method will be used instead of top-level statements. Available since .NET SDK 6.0.300. Default value:false
.
* * * * *
blazorwasm
-f|--framework <FRAMEWORK>
Specifies the framework to target.
The following table lists the default values according to the SDK version number you’re using:
SDK version Default value 7.0 net7.0
6.0 net6.0
5.0 net5.0
3.1 netcoreapp3.1
To create a project that targets a framework earlier than the SDK that you’re using, see
--framework
forconsole
projects earlier in this article.--no-restore
Doesn’t execute an implicit restore during project creation.
-ho|--hosted
Includes an ASP.NET Core host for the Blazor WebAssembly app.
-au|--auth <AUTHENTICATION_TYPE>
The type of authentication to use. The possible values are:
None
- No authentication (Default).Individual
- Individual authentication.IndividualB2C
- Individual authentication with Azure AD B2C.SingleOrg
- Organizational authentication for a single tenant.
--authority <AUTHORITY>
The authority of the OIDC provider. Use with
Individual
authentication. The default value ishttps://login.microsoftonline.com/
.--aad-b2c-instance <INSTANCE>
The Azure Active Directory B2C instance to connect to. Use with
IndividualB2C
authentication. The default value ishttps://aadB2CInstance.b2clogin.com/
.-ssp|--susi-policy-id <ID>
The sign-in and sign-up policy ID for this project. Use with
IndividualB2C
authentication.--aad-instance <INSTANCE>
The Azure Active Directory instance to connect to. Use with
SingleOrg
authentication. The default value ishttps://login.microsoftonline.com/
.--client-id <ID>
The Client ID for this project. Use with
IndividualB2C
,SingleOrg
, orIndividual
authentication in standalone scenarios. The default value is33333333-3333-3333-33333333333333333
.--domain <DOMAIN>
The domain for the directory tenant. Use with
SingleOrg
orIndividualB2C
authentication. The default value isqualified.domain.name
.--app-id-uri <URI>
The App ID Uri for the server API you want to call. Use with
SingleOrg
orIndividualB2C
authentication. The default value isapi.id.uri
.--api-client-id <ID>
The Client ID for the API that the server hosts. Use with
SingleOrg
orIndividualB2C
authentication. The default value is11111111-1111-1111-11111111111111111
.-s|--default-scope <SCOPE>
The API scope the client needs to request to provision an access token. Use with
SingleOrg
orIndividualB2C
authentication. The default value isuser_impersonation
.--tenant-id <ID>
The TenantId ID of the directory to connect to. Use with
SingleOrg
authentication. The default value is22222222-2222-2222-2222-222222222222
.-r|--org-read-access
Allows this application read-access to the directory. Only applies to
SingleOrg
authentication.--exclude-launch-settings
Excludes launchSettings.json from the generated template.
-p|--pwa
produces a Progressive Web Application (PWA) supporting installation and offline use.
--no-https
Turns off HTTPS. This option only applies if
Individual
,IndividualB2C
, orSingleOrg
aren’t being used for--auth
.-uld|--use-local-db
Specifies LocalDB should be used instead of SQLite. Only applies to
Individual
orIndividualB2C
authentication.--called-api-url <URL>
URL of the API to call from the web app. Only applies to
SingleOrg
orIndividualB2C
authentication without an ASP.NET Core host specified. The default value ishttps://graph.microsoft.com/v1.0/me
.--calls-graph
Specifies if the web app calls Microsoft Graph. Only applies to
SingleOrg
authentication.--called-api-scopes <SCOPES>
Scopes to request to call the API from the web app. Only applies to
SingleOrg
orIndividualB2C
authentication without an ASP.NET Core host specified. The default isuser.read
.--kestrelHttpPort
Port number to use for the HTTP endpoint in launchSettings.json.
--kestrelHttpsPort
Port number to use for the HTTPS endpoint in launchSettings.json. This option is not applicable when the parameter
no-https
is used (butno-https
is ignored when an individual or organizational authentication setting is chosen for--auth
).--use-program-main
If specified, an explicit
Program
class andMain
method will be used instead of top-level statements. Available since .NET SDK 6.0.300. Default value:false
.
* * * * *
web
--exclude-launch-settings
Excludes launchSettings.json from the generated template.
-f|--framework <FRAMEWORK>
Specifies the framework to target. Option not available in .NET Core 2.2 SDK.
The following table lists the default values according to the SDK version number you’re using:
SDK version Default value 6.0 net6.0
5.0 net5.0
3.1 netcoreapp3.1
3.0 netcoreapp3.0
2.1 netcoreapp2.1
To create a project that targets a framework earlier than the SDK that you’re using, see
--framework
forconsole
projects earlier in this article.--no-restore
Doesn’t execute an implicit restore during project creation.
--no-https
Turns off HTTPS.
--kestrelHttpPort
Port number to use for the HTTP endpoint in launchSettings.json.
--kestrelHttpsPort
Port number to use for the HTTPS endpoint in launchSettings.json. This option is not applicable when the parameter
no-https
is used (butno-https
is ignored when an individual or organizational authentication setting is chosen for--auth
).--use-program-main
If specified, an explicit
Program
class andMain
method will be used instead of top-level statements. Available since .NET SDK 6.0.300. Default value:false
.
* * * * *
mvc, webapp
-au|--auth <AUTHENTICATION_TYPE>
The type of authentication to use. The possible values are:
None
- No authentication (Default).Individual
- Individual authentication.IndividualB2C
- Individual authentication with Azure AD B2C.SingleOrg
- Organizational authentication for a single tenant.MultiOrg
- Organizational authentication for multiple tenants.Windows
- Windows authentication.
--aad-b2c-instance <INSTANCE>
The Azure Active Directory B2C instance to connect to. Use with
IndividualB2C
authentication. The default value ishttps://login.microsoftonline.com/tfp/
.-ssp|--susi-policy-id <ID>
The sign-in and sign-up policy ID for this project. Use with
IndividualB2C
authentication.-rp|--reset-password-policy-id <ID>
The reset password policy ID for this project. Use with
IndividualB2C
authentication.-ep|--edit-profile-policy-id <ID>
The edit profile policy ID for this project. Use with
IndividualB2C
authentication.--aad-instance <INSTANCE>
The Azure Active Directory instance to connect to. Use with
SingleOrg
orMultiOrg
authentication. The default value ishttps://login.microsoftonline.com/
.--client-id <ID>
The Client ID for this project. Use with
IndividualB2C
,SingleOrg
, orMultiOrg
authentication. The default value is11111111-1111-1111-11111111111111111
.--domain <DOMAIN>
The domain for the directory tenant. Use with
SingleOrg
orIndividualB2C
authentication. The default value isqualified.domain.name
.--tenant-id <ID>
The TenantId ID of the directory to connect to. Use with
SingleOrg
authentication. The default value is22222222-2222-2222-2222-222222222222
.--callback-path <PATH>
The request path within the application’s base path of the redirect URI. Use with
SingleOrg
orIndividualB2C
authentication. The default value is/signin-oidc
.-r|--org-read-access
Allows this application read-access to the directory. Only applies to
SingleOrg
orMultiOrg
authentication.--exclude-launch-settings
Excludes launchSettings.json from the generated template.
--no-https
Turns off HTTPS. This option only applies if
Individual
,IndividualB2C
,SingleOrg
, orMultiOrg
aren’t being used.-uld|--use-local-db
Specifies LocalDB should be used instead of SQLite. Only applies to
Individual
orIndividualB2C
authentication.-f|--framework <FRAMEWORK>
Specifies the framework to target. Option available since .NET Core 3.0 SDK.
The following table lists the default values according to the SDK version number you’re using:
SDK version Default value 6.0 net6.0
5.0 net5.0
3.1 netcoreapp3.1
3.0 netcoreapp3.0
To create a project that targets a framework earlier than the SDK that you’re using, see
--framework
forconsole
projects earlier in this article.--no-restore
Doesn’t execute an implicit restore during project creation.
--use-browserlink
Includes BrowserLink in the project. Option not available in .NET Core 2.2 and 3.1 SDK.
-rrc|--razor-runtime-compilation
Determines if the project is configured to use Razor runtime compilation in Debug builds. Option available since .NET Core 3.1.201 SDK.
--kestrelHttpPort
Port number to use for the HTTP endpoint in launchSettings.json.
--kestrelHttpsPort
Port number to use for the HTTPS endpoint in launchSettings.json. This option is not applicable when the parameter
no-https
is used (butno-https
is ignored when an individual or organizational authentication setting is chosen for--auth
).--use-program-main
If specified, an explicit
Program
class andMain
method will be used instead of top-level statements. Available since .NET SDK 6.0.300. Default value:false
.
* * * * *
angular, react
-au|--auth <AUTHENTICATION_TYPE>
The type of authentication to use. Available since .NET Core 3.0 SDK.
The possible values are:
None
- No authentication (Default).Individual
- Individual authentication.
--exclude-launch-settings
Excludes launchSettings.json from the generated template.
--no-restore
Doesn’t execute an implicit restore during project creation.
--no-https
Turns off HTTPS. This option only applies if authentication is
None
.-uld|--use-local-db
Specifies LocalDB should be used instead of SQLite. Only applies to
Individual
orIndividualB2C
authentication. Available since .NET Core 3.0 SDK.-f|--framework <FRAMEWORK>
Specifies the framework to target. Option not available in .NET Core 2.2 SDK.
The following table lists the default values according to the SDK version number you’re using:
SDK version Default value 6.0 net6.0
5.0 net5.0
3.1 netcoreapp3.1
3.0 netcoreapp3.0
2.1 netcoreapp2.0
To create a project that targets a framework earlier than the SDK that you’re using, see
--framework
forconsole
projects earlier in this article.--kestrelHttpPort
Port number to use for the HTTP endpoint in launchSettings.json.
--kestrelHttpsPort
Port number to use for the HTTPS endpoint in launchSettings.json. This option is not applicable when the parameter
no-https
is used (butno-https
is ignored when an individual or organizational authentication setting is chosen for--auth
).--use-program-main
If specified, an explicit
Program
class andMain
method will be used instead of top-level statements. Available since .NET SDK 6.0.300. Default value:false
.
* * * * *
reactredux
--exclude-launch-settings
Excludes launchSettings.json from the generated template.
-f|--framework <FRAMEWORK>
Specifies the framework to target. Option not available in .NET Core 2.2 SDK.
The following table lists the default values according to the SDK version number you’re using:
SDK version Default value 6.0 net6.0
5.0 net5.0
3.1 netcoreapp3.1
3.0 netcoreapp3.0
2.1 netcoreapp2.0
To create a project that targets a framework earlier than the SDK that you’re using, see
--framework
forconsole
projects earlier in this article.--no-restore
Doesn’t execute an implicit restore during project creation.
--no-https
Turns off HTTPS.
--kestrelHttpPort
Port number to use for the HTTP endpoint in launchSettings.json.
--kestrelHttpsPort
Port number to use for the HTTPS endpoint in launchSettings.json. This option is not applicable when the parameter
no-https
is used (butno-https
is ignored when an individual or organizational authentication setting is chosen for--auth
).
* * * * *
razorclasslib
--no-restore
Doesn’t execute an implicit restore during project creation.
-s|--support-pages-and-views
Supports adding traditional Razor pages and Views in addition to components to this library. Available since .NET Core 3.0 SDK.
* * * * *
webapiaot
Creates a web API project with AOT publish enabled. For more information, see Native AOT deployment and The Web API (Native AOT) template.
--exclude-launch-settings
Excludes launchSettings.json from the generated template.
-f|--framework <FRAMEWORK>
Specifies the framework to target.
The following table lists the default values according to the SDK version number you’re using:
SDK version Default value 8.0 net8.0
--no-restore
Doesn’t execute an implicit restore during project creation.
--use-program-main
If specified, an explicit
Program
class andMain
method will be used instead of top-level statements. Available since .NET SDK 6.0.300. Default value:false
.
* * * * *
webapi
-au|--auth <AUTHENTICATION_TYPE>
The type of authentication to use. The possible values are:
None
- No authentication (Default).IndividualB2C
- Individual authentication with Azure AD B2C.SingleOrg
- Organizational authentication for a single tenant.Windows
- Windows authentication.
--aad-b2c-instance <INSTANCE>
The Azure Active Directory B2C instance to connect to. Use with
IndividualB2C
authentication. The default value ishttps://login.microsoftonline.com/tfp/
.-minimal|--use-minimal-apis
Create a project that uses the ASP.NET Core minimal API. Default is
false
, but this option is overridden by--controllers
. Since the default for--controllers
isfalse
, enteringdotnet new webapi
without specifying either option creates a minimal API project.-ssp|--susi-policy-id <ID>
The sign-in and sign-up policy ID for this project. Use with
IndividualB2C
authentication.--aad-instance <INSTANCE>
The Azure Active Directory instance to connect to. Use with
SingleOrg
authentication. The default value ishttps://login.microsoftonline.com/
.--client-id <ID>
The Client ID for this project. Use with
IndividualB2C
orSingleOrg
authentication. The default value is11111111-1111-1111-11111111111111111
.--controllers, --use-controllers
Whether to use controllers instead of minimal APIs. If both this option and
-minimal
are specified, this option overrides the value specified by-minimal
. Default isfalse
.--domain <DOMAIN>
The domain for the directory tenant. Use with
IndividualB2C
orSingleOrg
authentication. The default value isqualified.domain.name
.--tenant-id <ID>
The TenantId ID of the directory to connect to. Use with
SingleOrg
authentication. The default value is22222222-2222-2222-2222-222222222222
.-r|--org-read-access
Allows this application read-access to the directory. Only applies to
SingleOrg
authentication.--exclude-launch-settings
Excludes launchSettings.json from the generated template.
--no-openapi
Turns off OpenAPI (Swagger) support.
AddSwaggerGen
,UseSwagger
, andUseSwaggerUI
aren’t called.--no-https
Turns off HTTPS. No https launch profile is created in
launchSettings.json
.app.UseHsts
andapp.UseHttpsRedirection
aren’t called in Program.cs/Startup.cs. This option only applies ifIndividualB2C
orSingleOrg
aren’t being used for authentication.-uld|--use-local-db
Specifies LocalDB should be used instead of SQLite. Only applies to
IndividualB2C
authentication.-f|--framework <FRAMEWORK>
Specifies the framework to target. Option not available in .NET Core 2.2 SDK.
The following table lists the default values according to the SDK version number you’re using:
SDK version Default value 7.0 net7.0
6.0 net6.0
5.0 net5.0
3.1 netcoreapp3.1
3.0 netcoreapp3.0
2.1 netcoreapp2.1
To create a project that targets a framework earlier than the SDK that you’re using, see
--framework
forconsole
projects earlier in this article.--no-restore
Doesn’t execute an implicit restore during project creation.
--use-program-main
If specified, an explicit
Program
class andMain
method will be used instead of top-level statements. Available since .NET SDK 6.0.300. Default value:false
.
* * * * *
globaljson
--sdk-version <VERSION_NUMBER>
Specifies the version of the .NET SDK to use in the global.json file.
editorconfig
Creates an .editorconfig file for configuring code style preferences.
--empty
Creates an empty .editorconfig instead of the defaults for .NET.
See Also
- dotnet new command
- dotnet new list command
- Custom templates for dotnet new
- Create a custom template for dotnet new
- Implicit using directives