の既定のテンプレート dotnet new

.NET SDK をインストールすると、コンソール アプリ、クラス ライブラリ、単体テスト プロジェクト、ASP.NET Core アプリ (Angular プロジェクトと React プロジェクトを含む)、構成ファイルなど、プロジェクトやファイルを作成するための 12 個を超える組み込みテンプレートが提供されます。 組み込みテンプレートの一覧を表示するには、dotnet new list コマンドを実行します。

dotnet new list

テンプレート オプション

.NET SDK に付属するテンプレートには、テンプレート固有のオプションがあります。 テンプレートで使用できるその他のオプションを表示するには、テンプレート名の引数で --help オプションを使用します (例: dotnet new console --help)。 この記事のテンプレート固有のセクションでは、オプションについても説明します。

テンプレートが複数のプログラミング言語をサポートしている場合、 --help オプションは既定の言語でテンプレートのヘルプを表示します。 これを --language オプションと組み合わせると、ヘルプを他の言語で表示できます: dotnet new console --help --language F#

プレインストールされたテンプレート

次の表は、.NET SDK にプレインストールされているテンプレートを示しています。 テンプレートの既定の言語は角かっこ内に表示されます。 テンプレート固有のオプションを表示するには、短い名前のリンクを選択します。

テンプレート 短い名前 Language Tags 導入時期
ASP.NET Core API webapiaot [C#] Web/Web API/API/Service 8.0
ASP.NET Core API コントローラー apicontroller [C#] Web/ASP.NET 8.0
ASP.NET Core 空 web [C#]、F# Web/Empty 1.0
ASP.NET Core Web API webapi [C#]、F# Web/Web API/API/Service/WebAPI 1.0
ASP.NET Core Web アプリ (モデル ビュー コントローラー) mvc [C#]、F# Web/MVC 1.0
ASP.NET Core Web アプリ webapp, razor [C#] Web/MVC/Razor ページ 2.2、2.0
ASP.NET Core gRPC サービス grpc [C#] Web/gRPC 3.0
Blazor Web アプリ blazor [C#] ウェブ/Blazor 8.0.100
Blazor WebAssembly スタンドアロン アプリ blazorwasm [C#] Web/Blazor/WebAssembly/PWA 3.1.300
クラス ライブラリ classlib [C#]、F#、VB Common/Library 1.0
コンソール アプリケーション console [C#]、F#、VB Common/Console 1.0
Directory.Build.props ファイル buildprops 構成 8.0.100
Directory.Build.targets ファイル buildtargets 構成 8.0.100
dotnet ローカル ツール マニフェスト ファイル tool-manifest 構成 3.0
EditorConfig ファイル editorconfig 構成 6.0
.gitignore ファイル gitignore 構成 3.0
global.json ファイル globaljson 構成 2.0
MSTest テスト クラス mstest-class [C#]、F#、VB Test/MSTest 1.0
MSTest テスト プロジェクト mstest [C#]、F#、VB Test/MSTest 1.0
NUnit 3 テスト項目 nunit-test [C#]、F#、VB Test/NUnit 2.2
NUnit 3 テスト プロジェクト nunit [C#]、F#、VB Test/NUnit 2.1.400
NuGet 構成 nugetconfig 構成 1.0
プロトコル バッファー ファイル proto Web/gRPC 3.0
Razor クラス ライブラリ razorclasslib [C#] Web/Razor/Library/Razor クラス ライブラリ 2.1
Razor コンポーネント razorcomponent [C#] Web/ASP.NET 3.0
Razor ページ page [C#] Web/ASP.NET 2.0
ソリューション ファイル sln ソリューション 1.0
Web 構成 webconfig 構成 1.0
Windows フォーム (WinForms) アプリケーション winforms [C#]、VB Common/WinForms 3.0 (VB の場合は 5.0)
Windows フォーム (WinForms) クラス ライブラリ winformslib [C#]、VB Common/WinForms 3.0 (VB の場合は 5.0)
Worker サービス worker [C#] Common/Worker/Web 3.0
WPF アプリケーション wpf [C#]、VB Common/WPF 3.0 (VB の場合は 5.0)
WPF クラス ライブラリ wpflib [C#]、VB Common/WPF 3.0 (VB の場合は 5.0)
WPF カスタム コントロール ライブラリ wpfcustomcontrollib [C#]、VB Common/WPF 3.0 (VB の場合は 5.0)
WPF ユーザー コントロール ライブラリ wpfusercontrollib [C#]、VB Common/WPF 3.0 (VB の場合は 5.0)
xUnit テスト プロジェクト xunit [C#]、F#、VB Test/xUnit 1.0
MVC ViewImports viewimports [C#] Web/ASP.NET 2.0
MVC ViewStart viewstart [C#] Web/ASP.NET 2.0

buildprops

フォルダー ツリー全体の MSBuild プロパティをカスタマイズするための Directory.Build.props ファイルを作成します。 詳細については、「 ビルドのカスタマイズ」を参照してください

  • --inherit

    指定した場合は、親ディレクトリ階層で最も近い Directory.Build.props ファイルの Import 要素を追加します。 既定では、 Directory.Build.props ファイルは親ディレクトリから継承されないため、このオプションを有効にすると、フォルダーごとにカスタマイズの階層を構築できます。

  • --use-artifacts

    指定した場合は、成果物の出力レイアウトを有効にするプロパティを追加します。 これは、共通のフォルダー構造に配置される NuGet パッケージなどのビルド 成果物を生成するプロジェクトの一般的なパターンです。 詳細については、「 成果物の出力レイアウト」を参照してください。


buildtargets

フォルダー ツリー全体の MSBuild ターゲットとタスクをカスタマイズするための Directory.Build.targets ファイルを作成します。 詳細については、「 ビルドのカスタマイズ」を参照してください

  • --inherit

    指定した場合は、親ディレクトリ階層内の最も近い Directory.Build.targets ファイルの Import 要素を追加します。 既定では、 Directory.Build.targets ファイルは親ディレクトリから継承されないため、このオプションを有効にすると、フォルダーごとにカスタマイズの階層を構築できます。


console

  • -f|--framework <FRAMEWORK>

    ターゲットにするフレームワークが指定されます。

    次の表は、使用する SDK バージョンに対応した既定値を示しています。

    SDK バージョン 既定値
    9.0 net9.0
    8.0 net8.0
    7.0 net7.0

    以前の TFM 用のプロジェクトを作成できるかどうかは、そのバージョンの SDK がインストールされているかどうかによります。 たとえば、.NET 9 SDK のみがインストールされている場合、--framework で使用できる唯一の値は net9.0です。 たとえば、.NET 8 SDK をインストールすると、値 net8.0--frameworkで使用できるようになります。 そのため、--framework net8.0 を指定することで、.NET 9 SDK で dotnet new を実行している間でも.NET 8 をターゲットにすることができます。

    また、使用している SDK より前のフレームワークをターゲットにしたプロジェクトを作成するには、テンプレートの NuGet パッケージをインストールして実行することもできる場合があります。 共通WebSPA のプロジェクトの種類には、ターゲット フレームワーク モニカー (TFM) ごとに異なるパッケージが使用されます。 たとえば、console をターゲットにした netcoreapp1.0 プロジェクトを作成するには、dotnet new install に対して Microsoft.DotNet.Common.ProjectTemplates.1.x を実行します。

  • --langVersion <VERSION_NUMBER>

    作成されたプロジェクト ファイルの LangVersion プロパティが設定されます。 たとえば、C# 7.3 を使うには --langVersion 7.3 を使います。 F# に対してはサポートされません。

    既定の C# バージョンの一覧については、「既定値」をご覧ください。

  • --no-restore

    指定した場合、プロジェクトの作成中には暗黙的な復元が実行されません。

  • --use-program-main

    指定した場合、最上位レベルのステートメントの代わりに、明示的な Program クラスと Main メソッドが使用されます。 .NET SDK 6.0.300 以降で使用可能です。 既定値: false。 C# でのみ使用できます。


classlib

  • -f|--framework <FRAMEWORK>

    ターゲットにするフレームワークが指定されます。 値: .NET クラス ライブラリを作成するための net9.0net8.0、または net7.0 、または .NET Standard クラス ライブラリを作成するための netstandard2.1 または netstandard2.0 。 .NET SDK 9.0.x の既定値は net9.0です。

    使用している SDK よりも前のフレームワークをターゲットにしたプロジェクトを作成するには、この記事で前述した--framework プロジェクト用の consoleを参照してください。

  • --langVersion <VERSION_NUMBER>

    作成されたプロジェクト ファイルの LangVersion プロパティが設定されます。 たとえば、C# 7.3 を使うには --langVersion 7.3 を使います。 F# に対してはサポートされません。

    既定の C# バージョンの一覧については、「既定値」をご覧ください。

  • --no-restore

    プロジェクトの作成中に暗黙的な復元は実行されません。


wpfwpflibwpfcustomcontrollibwpfusercontrollib

  • -f|--framework <FRAMEWORK>

    ターゲットにするフレームワークが指定されます。 .NET 9 SDK の場合、既定値は net9.0です。

  • --langVersion <VERSION_NUMBER>

    作成されたプロジェクト ファイルの LangVersion プロパティが設定されます。 たとえば、C# 7.3 を使うには --langVersion 7.3 を使います。

    既定の C# バージョンの一覧については、「既定値」をご覧ください。

  • --no-restore

    プロジェクトの作成中に暗黙的な復元は実行されません。


winformswinformslib

  • --langVersion <VERSION_NUMBER>

    作成されたプロジェクト ファイルの LangVersion プロパティが設定されます。 たとえば、C# 7.3 を使うには --langVersion 7.3 を使います。

    既定の C# バージョンの一覧については、「既定値」をご覧ください。

  • --no-restore

    プロジェクトの作成中に暗黙的な復元は実行されません。


workergrpc

  • -f|--framework <FRAMEWORK>

    ターゲットにするフレームワークが指定されます。 .NET 9 SDK の既定値は net9.0です。

    使用している SDK よりも前のフレームワークをターゲットにしたプロジェクトを作成するには、この記事で前述した--framework プロジェクト用の consoleを参照してください。

  • --exclude-launch-settings

    生成されたテンプレートから launchSettings.json が除外されます。

  • --no-restore

    プロジェクトの作成中に暗黙的な復元は実行されません。

  • --use-program-main

    指定した場合、最上位レベルのステートメントの代わりに、明示的な Program クラスと Main メソッドが使用されます。 .NET SDK 6.0.300 以降で使用可能です。 既定値: false


mstest

  • -f|--framework <FRAMEWORK>

    ターゲットにするフレームワークが指定されます。

    次の表は、使用する SDK バージョン番号に対応した既定値を示しています。

    SDK バージョン 既定値
    10.0 net10.0
    9.0 net9.0
    8.0 net8.0

以前の TFM 用のプロジェクトを作成できるかどうかは、そのバージョンの SDK がインストールされているかどうかによります。 たとえば、.NET 9 SDK のみがインストールされている場合、--framework で使用できる唯一の値は net9.0です。 .NET 8 SDK などをインストールすると、値 net8.0--frameworkで使用できるようになります。 そのため、--framework net8.0 を指定することで、.NET 9 SDK で dotnet new を実行している間でも.NET 8 をターゲットにすることができます。

  • --no-restore

    プロジェクトの作成中に暗黙的な復元は実行されません。

  • --sdk

    MSTest.Sdk プロジェクト スタイルを使用します。

  • --test-runner <TEST_RUNNER>

    テスト プロジェクトのランナー/プラットフォーム。 指定できる値は、

    • VSTest - VSTest プラットフォーム (既定)。
    • MSTest - Microsoft.Testing.Platform。
  • --coverage-tool <COVERAGE_TOOL>

    テスト プロジェクトに使用するカバレッジ ツール。 指定できる値は、

    • Microsoft.CodeCoverage - Microsoft コード カバレッジ (既定)。
    • coverlet - カバーレット カバレッジ ツール。
  • --extensions-profile <EXTENSIONS_PROFILE>

    Microsoft.Testing.Platform を使用する場合の SDK 拡張機能プロファイル。 指定できる値は、

    • Default - 既定の拡張機能プロファイル (既定)。
    • None - 拡張機能は何も有効化されません。
    • AllMicrosoft - Microsoft からのすべての拡張機能 (制限付きライセンスの拡張機能も含まれます) が有効になります。
  • --fixture <FIXTURE>

    テスト プロジェクトに含めるフィクスチャの種類。 指定できる値は、

    • None - フィクスチャ メソッドはありません。
    • AssemblyInitialize - AssemblyInitialize フィクスチャ メソッド。
    • AssemblyCleanup - AssemblyCleanup フィクスチャ メソッド。
    • ClassInitialize - ClassInitialize フィクスチャ メソッド。
    • ClassCleanup - ClassCleanup フィクスチャ メソッド。
    • TestInitialize - TestInitialize フィクスチャ メソッド。
    • TestCleanup - TestCleanup フィクスチャ メソッド。

    複数の値が許可されている場合。

  • -p|--enable-pack

    dotnet pack を使用してプロジェクトのパッケージ化が有効化されます。


mstest-class

  • --fixture <FIXTURE>

    テスト プロジェクトに含めるフィクスチャの種類。 指定できる値は、

    • None - フィクスチャ メソッドはありません。
    • AssemblyInitialize - AssemblyInitialize フィクスチャ メソッド。
    • AssemblyCleanup - AssemblyCleanup フィクスチャ メソッド。
    • ClassInitialize - ClassInitialize フィクスチャ メソッド。
    • ClassCleanup - ClassCleanup フィクスチャ メソッド。
    • TestInitialize - TestInitialize フィクスチャ メソッド。
    • TestCleanup - TestCleanup フィクスチャ メソッド。

    複数の値が許可されている場合。


xunit

  • -f|--framework <FRAMEWORK>

    ターゲットにするフレームワークが指定されます。

    次の表は、使用する SDK バージョン番号に対応した既定値を示しています。

    SDK バージョン 既定値
    10.0 net10.0
    9.0 net9.0
    8.0 net8.0

以前の TFM 用のプロジェクトを作成できるかどうかは、そのバージョンの SDK がインストールされているかどうかによります。 たとえば、.NET 9 SDK のみがインストールされている場合、--framework で使用できる唯一の値は net9.0です。 .NET 8 SDK などをインストールすると、値 net8.0--frameworkで使用できるようになります。 そのため、--framework net8.0 を指定することで、.NET 9 SDK で dotnet new を実行している間でも.NET 8 をターゲットにすることができます。

  • -p|--enable-pack

    dotnet pack を使用してプロジェクトのパッケージ化が有効化されます。

  • --no-restore

    プロジェクトの作成中に暗黙的な復元は実行されません。


nunit

  • -f|--framework <FRAMEWORK>

    ターゲットにするフレームワークが指定されます。

    次の表は、使用する SDK バージョン番号に対応した既定値を示しています。

    SDK バージョン 既定値
    10.0 net10.0
    9.0 net9.0
    8.0 net8.0

以前の TFM 用のプロジェクトを作成できるかどうかは、そのバージョンの SDK がインストールされているかどうかによります。 たとえば、.NET 9 SDK のみがインストールされている場合、--framework で使用できる唯一の値は net9.0です。 .NET 8 SDK などをインストールすると、値 net8.0--frameworkで使用できるようになります。 そのため、--framework net8.0 を指定することで、.NET 9 SDK で dotnet new を実行している間でも.NET 8 をターゲットにすることができます。

  • -p|--enable-pack

    dotnet pack を使用してプロジェクトのパッケージ化が有効化されます。

  • --no-restore

    プロジェクトの作成中に暗黙的な復元は実行されません。


page

  • -na|--namespace <NAMESPACE_NAME>

    生成されるコードの名前空間です。 既定値は MyApp.Namespace です。

  • -np|--no-pagemodel

    PageModel なしでページが作成されます。


viewimportsproto

  • -na|--namespace <NAMESPACE_NAME>

    生成されるコードの名前空間です。 既定値は MyApp.Namespace です。


blazor

  • -f|--framework <FRAMEWORK>

    ターゲットにするフレームワークが指定されます。

    このテンプレートは、.NET 8 以降で使用できます。

  • --no-restore

    プロジェクトの作成中に暗黙的な復元は実行されません。

  • --exclude-launch-settings

    生成されたアプリから launchSettings.json が除外されます。

  • -int|--interactivity <None|Server|Webassembly|Auto >

    対話型コンポーネントに使用する対話型レンダリング モードが指定されます。 指定できる値は、

    • None - インタラクティビティなし (静的サーバー側レンダリングのみ)。
    • Server - (既定) 対話型のサーバー側レンダリングを使用して、サーバー上でアプリを実行します。
    • WebAssembly - WebAssembly を使用してブラウザーでクライアント側レンダリングを使用してアプリを実行します。
    • Auto - Blazor バンドルをダウンロードし、クライアントで Blazor ランタイムをアクティブ化するときに対話型のサーバー側レンダリングを使用し、その後 WebAssembly でクライアント側レンダリングを使用します。
  • --empty

    基本的な使用パターンを示すサンプル ページとスタイル設定が省略されます。

  • -au|--auth <AUTHENTICATION_TYPE>

    使う認証の種類。 指定できる値は、

    • None - 認証は行われません (既定)。
    • Individual - 個別認証です。
  • -uld|--use-local-db

    SQLite ではなく LocalDB が使用されるように指定されます。 Individual 認証にのみ適用されます。

  • -ai|--all-interactive

    最上位レベルで対話型レンダリング モードを適用して、すべてのページを対話型にします。 false の場合、ページは既定で静的サーバー側レンダリングを使用し、ページ単位またはコンポーネント単位で対話型としてマークすることができます。 このオプションは、-i|--interactivity オプションが None に設定されていない場合にのみ有効です。

  • --no-https

    HTTPS を無効にします。 このオプションは、Individual オプションに -au|--auth が選択されていない場合にのみ適用されます。

  • --use-program-main

    指定した場合、最上位レベルのステートメントの代わりに、明示的な Program クラスと Main メソッドが生成されます。


web

  • --exclude-launch-settings

    生成されたテンプレートから launchSettings.json が除外されます。

  • -f|--framework <FRAMEWORK>

    ターゲットにするフレームワークが指定されます。

    次の表は、使用する SDK バージョン番号に対応した既定値を示しています。

    SDK バージョン 既定値
    10.0 net10.0
    9.0 net9.0
    8.0 net8.0

    使用している SDK よりも前のフレームワークをターゲットにしたプロジェクトを作成するには、この記事で前述した--framework プロジェクト用の consoleを参照してください。

  • --no-restore

    プロジェクトの作成中に暗黙的な復元は実行されません。

  • --no-https

    HTTPS を無効にします。

  • --kestrelHttpPort

    launchSettings.json で HTTP エンドポイントに使用するポート番号。

  • --kestrelHttpsPort

    launchSettings.json で HTTPS エンドポイントに使用するポート番号。 このオプションは、パラメーター no-https が使用されている場合には適用されません (ただし、no-https で個人または組織の認証設定が選択されている場合、--auth は無視されます)。

  • --use-program-main

    指定した場合、最上位レベルのステートメントの代わりに、明示的な Program クラスと Main メソッドが使用されます。 .NET SDK 6.0.300 以降で使用可能です。 既定値: false


mvcwebapp

  • -au|--auth <AUTHENTICATION_TYPE>

    使う認証の種類。 指定できる値は、

    • None - 認証は行われません (既定)。
    • Individual - 個別認証です。
    • IndividualB2C - Azure AD B2C での個別認証。
    • SingleOrg - 単一のテナントに対する組織認証。 Entra 外部 ID テナントも SingleOrg を使用します。
    • MultiOrg - 複数のテナントに対する組織認証です。
    • Windows - Windows 認証。
  • --aad-b2c-instance <INSTANCE>

    接続先の Azure Active Directory B2C インスタンス。 IndividualB2C 認証で使用します。 既定値は https://login.microsoftonline.com/tfp/ です。

  • -ssp|--susi-policy-id <ID>

    このプロジェクト用のサインインおよびサインアップ ポリシー ID です。 IndividualB2C 認証で使用します。

  • -rp|--reset-password-policy-id <ID>

    このプロジェクトのリセット パスワード ポリシー ID です。 IndividualB2C 認証で使用します。

  • -ep|--edit-profile-policy-id <ID>

    このプロジェクトの編集プロファイル ポリシー ID です。 IndividualB2C 認証で使用します。

  • --aad-instance <INSTANCE>

    接続先の Azure Active Directory インスタンスです。 SingleOrg 認証または MultiOrg 認証で使用します。 既定値は https://login.microsoftonline.com/ です。

  • --client-id <ID>

    このプロジェクトのクライアント ID です。 IndividualB2C 認証、SingleOrg 認証、または MultiOrg 認証で使用します。 既定値は 11111111-1111-1111-11111111111111111 です。

  • --domain <DOMAIN>

    ディレクトリ テナントのドメインです。 SingleOrg 認証または IndividualB2C 認証で使用します。 既定値は qualified.domain.name です。

  • --tenant-id <ID>

    接続先のディレクトリの TenantId ID です。 SingleOrg 認証で使用します。 既定値は 22222222-2222-2222-2222-222222222222 です。

  • --callback-path <PATH>

    リダイレクト URI のアプリケーションの基本パス内の要求パスです。 SingleOrg 認証または IndividualB2C 認証で使用します。 既定値は /signin-oidc です。

  • -r|--org-read-access

    このアプリケーションにディレクトリへの読み取りアクセスを許可します。 SingleOrg 認証または MultiOrg 認証にのみ適用されます。

  • --exclude-launch-settings

    生成されたテンプレートから launchSettings.json が除外されます。

  • --no-https

    HTTPS を無効にします。 このオプションは、IndividualIndividualB2CSingleOrg、または MultiOrg が使用されない場合にのみ適用されます。

  • -uld|--use-local-db

    SQLite ではなく LocalDB が使用されるように指定されます。 Individual 認証または IndividualB2C 認証にのみ適用されます。

  • -f|--framework <FRAMEWORK>

    ターゲットにするフレームワークが指定されます。

    次の表は、使用する SDK バージョン番号に対応した既定値を示しています。

    SDK バージョン 既定値
    10.0 net10.0
    9.0 net9.0
    8.0 net8.0

    使用している SDK よりも前のフレームワークをターゲットにしたプロジェクトを作成するには、この記事で前述した--framework プロジェクト用の consoleを参照してください。

  • --no-restore

    プロジェクトの作成中に暗黙的な復元は実行されません。

  • --use-browserlink

    プロジェクトに BrowserLink を含めます。

  • -rrc|--razor-runtime-compilation

    デバッグ ビルドで Razor ランタイム コンパイルを使用するようにプロジェクトが構成されているかどうかを判断します。

  • --kestrelHttpPort

    launchSettings.json で HTTP エンドポイントに使用するポート番号。

  • --kestrelHttpsPort

    launchSettings.json で HTTPS エンドポイントに使用するポート番号。 このオプションは、パラメーター no-https が使用されている場合には適用されません (ただし、no-https で個人または組織の認証設定が選択されている場合、--auth は無視されます)。

  • --use-program-main

    指定した場合、最上位レベルのステートメントの代わりに、明示的な Program クラスと Main メソッドが使用されます。 .NET SDK 6.0.300 以降で使用可能です。 既定値: false


razorclasslib

  • --no-restore

    プロジェクトの作成中に暗黙的な復元は実行されません。

  • -s|--support-pages-and-views

    このライブラリへのコンポーネントに加え、従来の Razor ページとビューの追加がサポートされます。


webapiaot

AOT 発行が有効な Web API プロジェクトを作成します。 詳細については、「ネイティブ AOT デプロイ」と「Web API (ネイティブ AOT) テンプレート」を参照してください。

  • --exclude-launch-settings

    生成されたテンプレートから launchSettings.json が除外されます。

  • -f|--framework <FRAMEWORK>

    ターゲットにするフレームワークが指定されます。

    次の表は、使用する SDK バージョン番号に対応した既定値を示しています。

    SDK バージョン 既定値
    10.0 net10.0
    9.0 net9.0
    8.0 net8.0
  • --no-restore

    プロジェクトの作成中に暗黙的な復元は実行されません。

  • --use-program-main

    指定した場合、最上位レベルのステートメントの代わりに、明示的な Program クラスと Main メソッドが使用されます。 .NET SDK 6.0.300 以降で使用可能です。 既定値: false


webapi

  • -au|--auth <AUTHENTICATION_TYPE>

    使う認証の種類。 指定できる値は、

    • None - 認証は行われません (既定)。
    • IndividualB2C - Azure AD B2C での個別認証。
    • SingleOrg - 単一のテナントに対する組織認証。 Entra 外部 ID テナントも SingleOrg を使用します。
    • Windows - Windows 認証。
  • --aad-b2c-instance <INSTANCE>

    接続先の Azure Active Directory B2C インスタンス。 IndividualB2C 認証で使用します。 既定値は https://login.microsoftonline.com/tfp/ です。

  • -minimal|--use-minimal-apis

    ASP.NET Core の最小限の API を使用するプロジェクトを作成します。 既定値は false ですが、このオプションは -controllers でオーバーライドされます。 -controllers の既定値は false であるため、どちらのオプションも指定せずに dotnet new webapi を入力すると、最小限の API プロジェクトが作成されます。

  • -ssp|--susi-policy-id <ID>

    このプロジェクト用のサインインおよびサインアップ ポリシー ID です。 IndividualB2C 認証で使用します。

  • --aad-instance <INSTANCE>

    接続先の Azure Active Directory インスタンスです。 SingleOrg 認証で使用します。 既定値は https://login.microsoftonline.com/ です。

  • --client-id <ID>

    このプロジェクトのクライアント ID です。 IndividualB2C 認証または SingleOrg 認証で使用します。 既定値は 11111111-1111-1111-11111111111111111 です。

  • -controllers|--use-controllers

    最小限の API の代わりにコントローラーを使用するかどうか。 このオプションと -minimal の両方を指定した場合、このオプションは -minimal で指定された値をオーバーライドします。 既定値は false です。 .NET 8 SDK 以降で利用可能です。

  • --domain <DOMAIN>

    ディレクトリ テナントのドメインです。 IndividualB2C 認証または SingleOrg 認証で使用します。 既定値は qualified.domain.name です。

  • --tenant-id <ID>

    接続先のディレクトリの TenantId ID です。 SingleOrg 認証で使用します。 既定値は 22222222-2222-2222-2222-222222222222 です。

  • -r|--org-read-access

    このアプリケーションにディレクトリへの読み取りアクセスを許可します。 SingleOrg 認証にのみ適用されます。

  • --exclude-launch-settings

    生成されたテンプレートから launchSettings.json が除外されます。

  • --no-openapi

    OpenAPI (Swagger) のサポートをオフにします。 AddOpenApiMapOpenApi は呼び出されません。

  • --no-https

    HTTPS を無効にします。 https 起動プロファイルは launchSettings.json に作成されません。 app.UseHstsapp.UseHttpsRedirectionProgram.cs/Startup.cs では呼び出されません。 このオプションは、IndividualB2C または SingleOrg が認証用に使用されない場合にのみ適用されます。

  • -uld|--use-local-db

    SQLite ではなく LocalDB が使用されるように指定されます。 IndividualB2C 認証にのみ適用されます。

  • -f|--framework <FRAMEWORK>

    ターゲットにするフレームワークが指定されます。

    次の表は、使用する SDK バージョン番号に対応した既定値を示しています。

    SDK バージョン 既定値
    10.0 net10.0
    9.0 net9.0
    8.0 net8.0

    使用している SDK よりも前のフレームワークをターゲットにしたプロジェクトを作成するには、この記事で前述した--framework プロジェクト用の consoleを参照してください。

  • --no-restore

    プロジェクトの作成中に暗黙的な復元は実行されません。

  • --use-program-main

    指定した場合、最上位レベルのステートメントの代わりに、明示的な Program クラスと Main メソッドが使用されます。 .NET SDK 6.0.300 以降で使用可能です。 既定値: false


apicontroller

読み取り/書き込みアクションの有無にかかわらず、API コントローラー。

  • -p:n|--name <NAME>

    生成するコードの名前空間。 既定値は MyApp.Namespace です。

  • -ac|--actions

    読み取り/書き込みアクションを使用してコントローラーを作成します。 既定値は false です。


globaljson

  • --sdk-version <VERSION_NUMBER>

    global.json ファイル内で使用する .NET SDK のバージョンを指定します。

  • --roll-forward <ROLL_FORWARD_POLICY>

    SDK バージョンを選択するときに、特定の SDK バージョンがない場合のフォールバックとして、またはより新しいバージョンを使用するためのディレクティブとして使用するロールフォワード ポリシー。 詳細については、「 global-json」を参照してください。

  • --test-runner <TEST_RUNNER>

    このオプションは .NET 10 SDK で導入され、使用するテスト ランナー (VSTest または Microsoft.Testing.Platform) を指定します。 既定値は VSTest です。

sln

プロジェクトを含まない空のソリューション ファイルを作成します。

Note

.NET SDK 9.0.200 以降では、このテンプレートでは、--format形式とsln形式を選択するslnx オプションがサポートされています。 .NET 10 以降では、既定の形式は slnx


editorconfig

コード スタイルの基本設定を構成するための .editorconfig ファイルを作成します。

  • --empty

    .NET の既定値の代わりに、空の .editorconfig を作成します。

廃止されたテンプレート

次の表は、廃止され、.NET SDK にプレインストールされなくなったテンプレートを示しています。 テンプレート固有のオプションを表示するには、短い名前のリンクを選択します。

テンプレート 短い名前 Language Tags 以降廃止
Angular 付きの ASP.NET Core angular [C#] Web/MVC/SPA 8.0
React.js 付きの ASP.NET Core react [C#] Web/MVC/SPA 8.0
Blazor サーバー アプリ blazorserver [C#] ウェブ/Blazor 8.0
Blazor サーバー アプリが空 blazorserver-empty [C#] ウェブ/Blazor 8.0
Blazor WebAssembly アプリが空 blazorwasm-empty [C#] Web/Blazor/WebAssembly 8.0

angularreact

.NET 8 SDK 以降で廃止されました。

  • -au|--auth <AUTHENTICATION_TYPE>

    使う認証の種類。

    指定できる値は、

    • None - 認証は行われません (既定)。
    • Individual - 個別認証です。
  • --exclude-launch-settings

    生成されたテンプレートから launchSettings.json が除外されます。

  • --no-restore

    プロジェクトの作成中に暗黙的な復元は実行されません。

  • --no-https

    HTTPS を無効にします。 このオプションは、認証が None の場合にのみ適用されます。

  • -uld|--use-local-db

    SQLite ではなく LocalDB が使用されるように指定されます。 Individual 認証または IndividualB2C 認証にのみ適用されます。

  • -f|--framework <FRAMEWORK>

    ターゲットにするフレームワークが指定されます。

    次の表は、使用する SDK バージョン番号に対応した既定値を示しています。

    Note

    net8.0 の React テンプレートはありませんが、ASP.NET Core を使用した React アプリの開発に関心がある場合は、「ASP.NET Core でのシングルページ アプリケーション (SPA) の概要」を参照してください。

    SDK バージョン 既定値
    7.0 net7.0

    使用している SDK よりも前のフレームワークをターゲットにしたプロジェクトを作成するには、この記事で前述した--framework プロジェクト用の consoleを参照してください。

  • --kestrelHttpPort

    launchSettings.json で HTTP エンドポイントに使用するポート番号。

  • --kestrelHttpsPort

    launchSettings.json で HTTPS エンドポイントに使用するポート番号。 このオプションは、パラメーター no-https が使用されている場合には適用されません (ただし、no-https で個人または組織の認証設定が選択されている場合、--auth は無視されます)。

  • --use-program-main

    指定した場合、最上位レベルのステートメントの代わりに、明示的な Program クラスと Main メソッドが使用されます。 .NET SDK 6.0.300 以降で使用可能です。 既定値: false


blazorserver

.NET 8 SDK 以降で廃止されました。

  • -au|--auth <AUTHENTICATION_TYPE>

    使う認証の種類。 指定できる値は、

    • None - 認証は行われません (既定)。
    • Individual - 個別認証です。
    • IndividualB2C - Azure AD B2C での個別認証。
    • SingleOrg - 単一のテナントに対する組織認証。 Entra 外部 ID テナントも SingleOrg を使用します。
    • MultiOrg - 複数のテナントに対する組織認証です。
    • Windows - Windows 認証。
  • --aad-b2c-instance <INSTANCE>

    接続先の Azure Active Directory B2C インスタンス。 IndividualB2C 認証で使用します。 既定値は https://login.microsoftonline.com/tfp/ です。

  • -ssp|--susi-policy-id <ID>

    このプロジェクト用のサインインおよびサインアップ ポリシー ID です。 IndividualB2C 認証で使用します。

  • -rp|--reset-password-policy-id <ID>

    このプロジェクトのリセット パスワード ポリシー ID です。 IndividualB2C 認証で使用します。

  • -ep|--edit-profile-policy-id <ID>

    このプロジェクトの編集プロファイル ポリシー ID です。 IndividualB2C 認証で使用します。

  • --aad-instance <INSTANCE>

    接続先の Azure Active Directory インスタンスです。 SingleOrg 認証または MultiOrg 認証で使用します。 既定値は https://login.microsoftonline.com/ です。

  • --client-id <ID>

    このプロジェクトのクライアント ID です。 IndividualB2C 認証、SingleOrg 認証、または MultiOrg 認証で使用します。 既定値は 11111111-1111-1111-11111111111111111 です。

  • --domain <DOMAIN>

    ディレクトリ テナントのドメインです。 SingleOrg 認証または IndividualB2C 認証で使用します。 既定値は qualified.domain.name です。

  • --tenant-id <ID>

    接続先のディレクトリの TenantId ID です。 SingleOrg 認証で使用します。 既定値は 22222222-2222-2222-2222-222222222222 です。

  • --callback-path <PATH>

    リダイレクト URI のアプリケーションの基本パス内の要求パスです。 SingleOrg 認証または IndividualB2C 認証で使用します。 既定値は /signin-oidc です。

  • -r|--org-read-access

    このアプリケーションにディレクトリへの読み取りアクセスを許可します。 SingleOrg 認証または MultiOrg 認証にのみ適用されます。

  • --exclude-launch-settings

    生成されたテンプレートから launchSettings.json が除外されます。

  • --no-https

    HTTPS を無効にします。 このオプションは、IndividualIndividualB2CSingleOrg、または MultiOrg--auth 用に使用されない場合にのみ適用されます。

  • -uld|--use-local-db

    SQLite ではなく LocalDB が使用されるように指定されます。 Individual 認証または IndividualB2C 認証にのみ適用されます。

  • --no-restore

    プロジェクトの作成中に暗黙的な復元は実行されません。

  • --kestrelHttpPort

    launchSettings.json で HTTP エンドポイントに使用するポート番号。

  • --kestrelHttpsPort

    launchSettings.json で HTTPS エンドポイントに使用するポート番号。 このオプションは、パラメーター no-https が使用されている場合には適用されません (ただし、no-https で個人または組織の認証設定が選択されている場合、--auth は無視されます)。

  • --use-program-main

    指定した場合、最上位レベルのステートメントの代わりに、明示的な Program クラスと Main メソッドが使用されます。 .NET SDK 6.0.300 以降で使用可能です。 既定値: false


blazorwasm

  • -f|--framework <FRAMEWORK>

    ターゲットにするフレームワークが指定されます。

    次の表は、使用する SDK バージョン番号に対応した既定値を示しています。

    SDK バージョン 既定値
    10.0 net10.0
    9.0 net9.0
    8.0 net8.0

    使用している SDK よりも前のフレームワークをターゲットにしたプロジェクトを作成するには、この記事で前述した--framework プロジェクト用の consoleを参照してください。

  • --no-restore

    プロジェクトの作成中に暗黙的な復元は実行されません。

  • -ho|--hosted

    Blazor WebAssembly アプリ用の ASP.NET Core ホストが含まれています。

  • -au|--auth <AUTHENTICATION_TYPE>

    使う認証の種類。 指定できる値は、

    • None - 認証は行われません (既定)。
    • Individual - 個別認証です。
    • IndividualB2C - Azure AD B2C での個別認証。
    • SingleOrg - 単一のテナントに対する組織認証。 Entra 外部 ID テナントも SingleOrg を使用します。
  • --authority <AUTHORITY>

    OIDC プロバイダーの機関。 Individual 認証で使用します。 既定値は https://login.microsoftonline.com/ です。

  • --aad-b2c-instance <INSTANCE>

    接続先の Azure Active Directory B2C インスタンス。 IndividualB2C 認証で使用します。 既定値は https://aadB2CInstance.b2clogin.com/ です。

  • -ssp|--susi-policy-id <ID>

    このプロジェクト用のサインインおよびサインアップ ポリシー ID です。 IndividualB2C 認証で使用します。

  • --aad-instance <INSTANCE>

    接続先の Azure Active Directory インスタンスです。 SingleOrg 認証で使用します。 既定値は https://login.microsoftonline.com/ です。

  • --client-id <ID>

    このプロジェクトのクライアント ID です。 スタンドアロンのシナリオで、IndividualB2CSingleOrg、または Individual 認証と共に使用します。 既定値は 33333333-3333-3333-33333333333333333 です。

  • --domain <DOMAIN>

    ディレクトリ テナントのドメインです。 SingleOrg 認証または IndividualB2C 認証で使用します。 既定値は qualified.domain.name です。

  • --app-id-uri <URI>

    呼び出すサーバー API のアプリ ID URI。 SingleOrg 認証または IndividualB2C 認証で使用します。 既定値は api.id.uri です。

  • --api-client-id <ID>

    サーバーでホストされる API のクライアント ID。 SingleOrg 認証または IndividualB2C 認証で使用します。 既定値は 11111111-1111-1111-11111111111111111 です。

  • -s|--default-scope <SCOPE>

    アクセス トークンをプロビジョニングするためにクライアントが要求する必要のある API スコープ。 SingleOrg 認証または IndividualB2C 認証で使用します。 既定値は user_impersonation です。

  • --tenant-id <ID>

    接続先のディレクトリの TenantId ID です。 SingleOrg 認証で使用します。 既定値は 22222222-2222-2222-2222-222222222222 です。

  • -r|--org-read-access

    このアプリケーションにディレクトリへの読み取りアクセスを許可します。 SingleOrg 認証にのみ適用されます。

  • --exclude-launch-settings

    生成されたテンプレートから launchSettings.json が除外されます。

  • -p|--pwa

    インストールとオフライン使用をサポートするプログレッシブ Web アプリケーション (PWA) が生成されます。

  • --no-https

    HTTPS を無効にします。 このオプションは、IndividualIndividualB2C、または SingleOrg--auth 用に使用されていない場合にのみ適用されます。

  • -uld|--use-local-db

    SQLite ではなく LocalDB が使用されるように指定されます。 Individual 認証または IndividualB2C 認証にのみ適用されます。

  • --called-api-url <URL>

    Web アプリから呼び出すための API の URL。 ASP.NET Core ホストが指定されていない SingleOrg または IndividualB2C 認証にのみ適用されます。 既定値は https://graph.microsoft.com/v1.0/me です。

  • --calls-graph

    Web アプリによって Microsoft Graph が呼び出されるかどうかを指定します。 SingleOrg 認証にのみ適用されます。

  • --called-api-scopes <SCOPES>

    Web アプリから API を呼び出すように要求するスコープ。 ASP.NET Core ホストが指定されていない SingleOrg または IndividualB2C 認証にのみ適用されます。 既定値は、user.read です。

  • --kestrelHttpPort

    launchSettings.json で HTTP エンドポイントに使用するポート番号。

  • --kestrelHttpsPort

    launchSettings.json で HTTPS エンドポイントに使用するポート番号。 このオプションは、パラメーター no-https が使用されている場合には適用されません (ただし、no-https で個人または組織の認証設定が選択されている場合、--auth は無視されます)。

  • --use-program-main

    指定した場合、最上位レベルのステートメントの代わりに、明示的な Program クラスと Main メソッドが使用されます。 .NET SDK 6.0.300 以降で使用可能です。 既定値: false


関連項目