dotnet new

この記事の対象: ✔️ .NET Core 2.0 SDK 以降のバージョン

名前

dotnet new - 指定したテンプレートに基づいて、新しいプロジェクト、構成ファイル、またはソリューションを作成します。

構文

dotnet new <TEMPLATE> [--dry-run] [--force] [-lang|--language {"C#"|"F#"|VB}]
    [-n|--name <OUTPUT_NAME>] [-o|--output <OUTPUT_DIRECTORY>] [Template options]

dotnet new -h|--help

説明

dotnet new コマンドを実行すると、テンプレートに基づいて、.NET プロジェクトまたはその他の成果物が作成されます。

このコマンドは、テンプレート エンジンを呼び出し、指定されたテンプレートとオプションに基づいて、ディスク上に成果物を作成します。

暗黙的な復元

dotnet restore を実行する必要がなくなりました。復元を必要とするすべてのコマンド (dotnet newdotnet builddotnet rundotnet testdotnet publishdotnet pack など) によって暗黙的に実行されるためです。 暗黙的な復元を無効にするには、--no-restore オプションを使用します。

Azure DevOps Services の継続的インテグレーション ビルドなどの、明示的な復元が意味のある一部のシナリオや、復元が行われるタイミングを明示的に制御する必要があるビルド システムでは、dotnet restore は引き続き有用なコマンドです。

NuGet フィードの管理方法については、dotnet restore のドキュメントをご覧ください。

引数

  • TEMPLATE

    コマンドが呼び出されたときにインスタンス化するテンプレート。 各テンプレートには、渡すことができるオプションが存在する場合があります。 詳細については、テンプレートのオプションを参照してください。

    dotnet new --list を実行すると、インストールされているすべてのテンプレートの一覧を表示できます。

    .NET Core 3.0 SDK から .NET Core 5.0.300 SDK においては、次の条件で dotnet new コマンドを呼び出すと、CLI によって NuGet.org 内のテンプレートが検索されます。

    • dotnet new の呼び出し時に、CLI でテンプレートの一致を (部分的にも) 検出できない場合。
    • テンプレートの新しいバージョンが利用可能な場合。 この場合、プロジェクトまたは成果物が作成されますが、更新されたバージョンのテンプレートについて、CLI によって警告が表示されます。

    .NET Core 5.0.300 SDK 以降では、--search オプションを使用して NuGet.org でテンプレートを検索する必要があります。

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

テンプレート 短い名前 言語 Tags 導入時期
コンソール アプリケーション console [C#], F#, VB Common/Console 1.0
クラス ライブラリ classlib [C#], F#, VB Common/Library 1.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)
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 Service worker [C#] Common/Worker/Web 3.0
単体テスト プロジェクト mstest [C#], F#, VB Test/MSTest 1.0
NUnit 3 テスト プロジェクト nunit [C#], F#, VB Test/NUnit 2.1.400
NUnit 3 テスト項目 nunit-test [C#], F#, VB Test/NUnit 2.2
xUnit テスト プロジェクト xunit [C#], F#, VB Test/xUnit 1.0
Razor コンポーネント razorcomponent [C#] Web/ASP.NET 3.0
Razor ページ 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 サーバー アプリ blazorserver [C#] Web/Blazor 3.0
Blazor WebAssembly アプリ blazorwasm [C#] Web/Blazor/WebAssembly 3.1.300
ASP.NET Core 空 web [C#], F# Web/Empty 1.0
ASP.NET Core Web アプリ (モデル ビュー コントローラー) mvc [C#], F# Web/MVC 1.0
ASP.NET Core Web アプリ webapp, razor [C#] Web/MVC/Razor Pages 2.2、2.0
Angular 付きの ASP.NET Core angular [C#] Web/MVC/SPA 2.0
React.js 付きの ASP.NET Core react [C#] Web/MVC/SPA 2.0
React.js および Redux 付きの ASP.NET Core reactredux [C#] Web/MVC/SPA 2.0
Razor クラス ライブラリ razorclasslib [C#] Web/Razor/Library/Razor Class Library 2.1
ASP.NET Core Web API webapi [C#], F# Web/WebAPI 1.0
ASP.NET Core gRPC サービス grpc [C#] Web/gRPC 3.0
dotnet gitignore ファイル gitignore 構成 3.0
global.json file globaljson 構成 2.0
NuGet 構成 nugetconfig 構成 1.0
dotnet ローカル ツール マニフェスト ファイル tool-manifest 構成 3.0
Web 構成 webconfig 構成 1.0
ソリューション ファイル sln ソリューション 1.0
プロトコル バッファー ファイル proto Web/gRPC 3.0

オプション

  • --dry-run

    指定されたコマンドが実行されてテンプレートが作成された場合に起きることの概要が表示されます。 .NET Core 2.2 SDK 以降で利用できます。

  • --force

    既存のファイルを変更する場合でも、コンテンツが強制的に生成されます。 これは、選択されたテンプレートによって出力ディレクトリ内の既存のファイルがオーバーライドされる場合に必要です。

  • -?|-h|--help

    コマンドのヘルプを印刷します。 dotnet new コマンド自体、または任意のテンプレートに対して呼び出すことができます。 たとえば、dotnet new mvc --help のようにします。

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

    作成するテンプレートの言語。 使用できる言語は、テンプレートによって異なります (引数の既定値を参照してください)。 一部のテンプレートでは無効です。

    注意

    一部のシェルは # を特殊文字として解釈します。 そのような場合は、言語パラメーター値を引用符で囲みます。 たとえば、dotnet new console -lang "F#" のようにします。

  • -n|--name <OUTPUT_NAME>

    作成される出力の名前です。 名前が指定されていない場合、現在のディレクトリの名前が使用されます。

  • -o|--output <OUTPUT_DIRECTORY>

    生成された出力を配置する場所。 既定値は、現在のディレクトリです。

テンプレート オプション

各テンプレートでは、追加のオプションが定義されている場合があります。 詳細については、「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 xunit
    
  • 現在のディレクトリに global.json が作成され、SDK バージョンが 3.1.101 に設定されます。

    dotnet new globaljson --sdk-version 3.1.101
    

関連項目