この記事の対象: ✔️ .NET 6 SDK 以降のバージョン
名前
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
説明
dotnet new コマンドを実行すると、テンプレートに基づいて、.NET プロジェクトまたはその他の成果物が作成されます。
このコマンドは、テンプレート エンジンを呼び出し、指定されたテンプレートとオプションに基づいて、ディスク上に成果物を作成します。
Note
.NET 7 SDK 以降では、dotnet new 構文が変更されました。
-
--list、--search、--install--uninstallオプションがlist、search、install、uninstallサブコマンドになりました。 -
--update-applyオプションがupdateサブコマンドになりました。 -
--update-checkを使用するには、updateオプションと共に--check-onlyサブコマンドを使用します。
以前に使用できたその他のオプションは、それぞれのサブコマンドで引き続き使用できます。
-h または --help オプションを使用すると、サブコマンドごとに個別のヘルプを使用できます。dotnet new <subcommand> --help では、サブコマンドでサポートされているすべてのオプションが一覧表示されます。
さらに、dotnet new でタブ補完が使用可能になりました。 インストールされているテンプレート名と、選択したテンプレートで提供されるオプションで補完がサポートされます。
.NET SDK のタブ補完をアクティブにするには、タブ補完を有効にすることに関するページを参照してください。
Tab 補完機能
.NET SDK 7.0.100 以降では、タブ補完を dotnet new で使用できます。 インストールされたテンプレート名の補完と、選択したテンプレートが提供するオプションの補完がサポートされます。
.NET SDK のタブ補完をアクティブにするには、タブ補完を有効にすることに関するページを参照してください。
暗黙的な復元
復元を必要とするすべてのコマンド (dotnet restore、dotnet new、dotnet build、dotnet run、dotnet test、dotnet publish など) によって暗黙的に実行されるため、dotnet pack を実行する必要がなくなりました。 暗黙的な復元を無効にするには、--no-restore オプションを使用します。
dotnet restoreなどの、明示的な復元が意味のある一部のシナリオや、復元が行われるタイミングを明示的に制御する必要があるビルド システムでは、dotnet restore は引き続き有用なコマンドです。
NuGet フィードの管理方法については、dotnet restore のドキュメントをご覧ください。
引数
TEMPLATEコマンドが呼び出されたときにインスタンス化するテンプレート。 各テンプレートには、渡すことができるオプションが存在する場合があります。 詳細については、テンプレートのオプションを参照してください。
dotnet new listを実行すると、インストールされているすべてのテンプレートの一覧を表示できます。searchコマンドを使用して、NuGet.org 内のテンプレートを検索する必要があります。.NET SDK に付属するテンプレートの一覧については、「 プレインストールされたテンプレート」を参照してください。
オプション
--dry-run指定されたコマンドが実行されてテンプレートが作成された場合に起きることの概要が表示されます。
--force既存のファイルを変更する場合でも、コンテンツが強制的に生成されます。 これは、選択されたテンプレートによって出力ディレクトリ内の既存のファイルがオーバーライドされる場合に必要です。
-
-?|-h|--helpコマンドの使用方法を示した説明を出力します。
-lang|--language {C#|F#|VB}作成するテンプレートの言語。 使用できる言語は、テンプレートによって異なります (引数の既定値を参照してください)。 一部のテンプレートでは無効です。
Note
一部のシェルは
#を特殊文字として解釈します。 そのような場合は、言語パラメーター値を引用符で囲みます。 たとえば、dotnet new console -lang "F#"のようにします。-n|--name <OUTPUT_NAME>作成される出力の名前です。 名前が指定されていない場合、現在のディレクトリの名前が使用されます。
-f|--framework <FRAMEWORK>ターゲット フレームワークを指定します。 ターゲット フレームワーク モニカー (TFM) が必要です。 例: "net6.0"、"net7.0-macos"。 この値はプロジェクト ファイルに反映されます。
-no-update-checkテンプレートをインスタンス化する場合に、テンプレート パッケージの更新の確認を無効にします。 .NET SDK 6.0.100 以降で使用できます。
dotnet new --installを使用してインストールされたテンプレート パッケージからテンプレートをインスタンス化する場合、dotnet newではテンプレートの更新があるかどうかが確認されます。 .NET 6 以降では、.NET の既定のテンプレートに対する更新チェックは行われません。 .NET の既定のテンプレートを更新するには、.NET SDK のパッチ バージョンをインストールします。-o|--output <OUTPUT_DIRECTORY>生成された出力を配置する場所。 既定値は、現在のディレクトリです。
--project <PROJECT_PATH>テンプレートが追加されるプロジェクト。 このプロジェクトはコンテキストの評価に使用されます。 指定しない場合は、現在のディレクトリまたは親ディレクトリ内のプロジェクトが使用されます。 .NET SDK 7.0.100 以降で使用できます。
-d|--diagnostics診断出力を有効にします。 .NET SDK 7.0.100 以降で使用できます。
-
-v|--verbosity <LEVEL>コマンドの詳細レベルを設定します。 指定できる値は、
q[uiet]、m[inimal]、n[ormal]、d[etailed]、およびdiag[nostic]です。 詳細については、LoggerVerbosityを参照してください。
テンプレート オプション
各テンプレートでは、追加のオプションが定義されている場合があります。 詳細については、「dotnet new 用の .NET の既定のテンプレート」を参照してください。
例
C# コンソール アプリケーション プロジェクトを作成します。
dotnet new console現在のディレクトリに、F# コンソール アプリケーション プロジェクトを作成します。
dotnet new console --language "F#"指定したディレクトリに .NET Standard 2.0 クラス ライブラリ プロジェクトを作成します。
dotnet new classlib --framework "netstandard2.0" -o MyLibrary認証なしで、現在のディレクトリに新しい ASP.NET Core C# MVC プロジェクトを作成します。
dotnet new mvc -au None新しい xUnit プロジェクトを作成します。
dotnet new xunitSDK バージョンを 8.0.101 に設定して、現在のディレクトリに global.json を作成します。
dotnet new globaljson --sdk-version 8.0.101 --roll-forward latestFeatureC# コンソール アプリケーション テンプレートのヘルプを表示します。
dotnet new console -hF# コンソール アプリケーション テンプレートのヘルプを表示します。
dotnet new console --language "F#" -h
関連項目
.NET