dotnet newdotnet new

このトピックの対象: ✓ .NET Core SDK 1.x .NET Core SDK 2.0This topic applies to: ✓ .NET Core SDK 1.x .NET Core SDK 2.0

nameName

dotnet new - 指定したテンプレートに基づいて、新しいプロジェクト、構成ファイル、またはソリューションを作成します。dotnet new - Creates a new project, configuration file, or solution based on the specified template.

構文Synopsis

dotnet new <TEMPLATE> [--force] [-i|--install] [-lang|--language] [-n|--name] [--nuget-source] [-o|--output]
    [-u|--uninstall] [Template options]
dotnet new <TEMPLATE> [-l|--list] [--type]
dotnet new [-h|--help]

説明Description

dotnet new コマンドは、有効な .NET Core プロジェクトを初期化する便利な手段を提供します。The dotnet new command provides a convenient way to initialize a valid .NET Core project.

このコマンドは、テンプレート エンジンを呼び出し、指定されたテンプレートとオプションに基づいて、ディスク上に成果物を作成します。The command calls the template engine to create the artifacts on disk based on the specified template and options.

引数Arguments

TEMPLATE

コマンドが呼び出されたときにインスタンス化するテンプレート。The template to instantiate when the command is invoked. 各テンプレートには、渡すことができるオプションが存在する場合があります。Each template might have specific options you can pass. 詳細については、テンプレートのオプションを参照してください。For more information, see Template options.

このコマンドには、テンプレートの既定の一覧が含まれています。The command contains a default list of templates. 使用可能なテンプレートの一覧を取得するには、dotnet new -l を使います。Use dotnet new -l to obtain a list of the available templates. 次の表は、.NET Core SDK 2.1.300 にプレインストールされているテンプレートの一覧です。The following table shows the templates that come pre-installed with the .NET Core SDK 2.1.300. テンプレートの既定の言語は、角かっこで示されます。The default language for the template is shown inside the brackets.

テンプレートの説明Template description テンプレート名Template name 言語Languages
コンソール アプリケーションConsole application console [C#], F#, VB[C#], F#, VB
クラス ライブラリClass library classlib [C#], F#, VB[C#], F#, VB
単体テスト プロジェクトUnit test project mstest [C#], F#, VB[C#], F#, VB
xUnit テスト プロジェクトxUnit test project xunit [C#], F#, VB[C#], F#, VB
Razor ページRazor page page [C#][C#]
MVC ViewImportsMVC ViewImports viewimports [C#][C#]
MVC ViewStartMVC ViewStart viewstart [C#][C#]
ASP.NET Core 空ASP.NET Core empty web [C#], F#[C#], F#
ASP.NET Core Web アプリ (モデル ビュー コントローラー)ASP.NET Core Web App (Model-View-Controller) mvc [C#], F#[C#], F#
ASP.NET Core Web アプリASP.NET Core Web App razor [C#][C#]
Angular 付きの ASP.NET CoreASP.NET Core with Angular angular [C#][C#]
React.js 付きの ASP.NET CoreASP.NET Core with React.js react [C#][C#]
React.js および Redux 付きの ASP.NET CoreASP.NET Core with React.js and Redux reactredux [C#][C#]
ASP.NET Core Web APIASP.NET Core Web API webapi [C#], F#[C#], F#
Razor クラス ライブラリRazor class library razorclasslib [C#][C#]
global.json fileglobal.json file globaljson
NuGet 構成NuGet config nugetconfig
Web 構成Web config webconfig
ソリューション ファイルSolution file sln

オプションOptions

--force

既存のファイルを変更する場合でも、コンテンツが強制的に生成されます。Forces content to be generated even if it would change existing files. これは、出力ディレクトリに既にプロジェクトが含まれている場合に必要です。This is required when the output directory already contains a project.

-h|--help

コマンドのヘルプを印刷します。Prints out help for the command. dotnet new コマンド自体、または dotnet new mvc --help などの任意のテンプレートに対して呼び出すことができます。It can be invoked for the dotnet new command itself or for any template, such as dotnet new mvc --help.

-i|--install <PATH|NUGET_ID>

指定された PATH または NUGET_ID からソース パックまたはテンプレート パックをインストールします。Installs a source or template pack from the PATH or NUGET_ID provided. テンプレート パッケージのプレリリース版をインストールする場合は、<package-name>::<package-version> の形式でバージョンを指定する必要があります。If you want to install a prerelease version of a template package, you need to specify the version in the format of <package-name>::<package-version>. 既定では、dotnet new は、バージョンに対して * を渡します。これは最後の安定したパッケージのバージョンを表します。By default, dotnet new passes * for the version, which represents the last stable package version. 使用例」のセクションで、例をご覧ください。See an example at the Examples section.

カスタム テンプレートの作成方法については、「dotnet new のカスタム テンプレート」 を参照してください。For information on creating custom templates, see Custom templates for dotnet new.

-l|--list

指定した名前を含むテンプレートを列挙します。Lists templates containing the specified name. dotnet new コマンドに対して呼び出すと、指定されたディレクトリで使用できるテンプレートが列挙されます。If invoked for the dotnet new command, it lists the possible templates available for the given directory. たとえば、ディレクトリに既にプロジェクトが含まれている場合、すべてのプロジェクト テンプレートは列挙されません。For example if the directory already contains a project, it doesn't list all project templates.

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

作成するテンプレートの言語。The language of the template to create. 使用できる言語は、テンプレートによって異なります (引数の既定値を参照してください)。The language accepted varies by the template (see defaults in the arguments section). 一部のテンプレートでは無効です。Not valid for some templates.

注意

一部のシェルは # を特殊文字として解釈します。Some shells interpret # as a special character. そのような場合は、dotnet new console -lang "F#" などの言語パラメーター値を囲む必要があります。In those cases, you need to enclose the language parameter value, such as dotnet new console -lang "F#".

-n|--name <OUTPUT_NAME>

作成される出力の名前です。The name for the created output. 名前が指定されていない場合、現在のディレクトリの名前が使用されます。If no name is specified, the name of the current directory is used.

--nuget-source

インストール中に使用する NuGet ソースを 1 つ指定します。Specifies a NuGet source to use during install.

-o|--output <OUTPUT_DIRECTORY>

生成された出力を配置する場所。Location to place the generated output. 既定値は、現在のディレクトリです。The default is the current directory.

--type

使用可能な種類に基づいて、テンプレートをフィルター処理します。Filters templates based on available types. 定義済みの値は、"project"、"item"、または "other" です。Predefined values are "project", "item" or "other".

-u|--uninstall <PATH|NUGET_ID>

指定された PATH または NUGET_ID で、ソース パックまたはテンプレート パックをアンインストールします。Uninstalls a source or template pack at the PATH or NUGET_ID provided.

注意

PATH を使用してテンプレートをアンインストールするには、完全修飾パスを使用する必要があります。To uninstall a template using a PATH, you need to fully qualify the path. たとえば、C:/Users/<ユーザー>/Documents/Templates/GarciaSoftware.ConsoleTemplate.CSharp は有効ですが、./GarciaSoftware.ConsoleTemplate.CSharp が含まれるフォルダーから、そのパスを指定することはできません。For example, C:/Users/<USER>/Documents/Templates/GarciaSoftware.ConsoleTemplate.CSharp will work, but ./GarciaSoftware.ConsoleTemplate.CSharp from the containing folder will not. また、テンプレートのパスの最後にある終端ディレクトリのスラッシュは含めないでください。Additionally, do not include a final terminating directory slash on your template path.

テンプレート オプションTemplate options

プロジェクト テンプレートはそれぞれ、追加のオプションが与えられている場合があります。Each project template may have additional options available. コア テンプレートの場合、次のオプションが追加されています。The core templates have the following additional options:

console, angular, react, reactredux, razorclasslibconsole, angular, react, reactredux, razorclasslib

--no-restore - プロジェクトの作成中には暗黙的な復元を実行しません。--no-restore - Doesn't execute an implicit restore during project creation.

classlibclasslib

-f|--framework <FRAMEWORK> - ターゲットにするフレームワークを指定します。-f|--framework <FRAMEWORK> - Specifies the framework to target. 値: .NET Core クラス ライブラリを作成するには netcoreapp2.0、.NET 標準クラス ライブラリを作成するには netstandard2.0 です。Values: netcoreapp2.0 to create a .NET Core Class Library or netstandard2.0 to create a .NET Standard Class Library. 既定値は netstandard2.0 です。The default value is netstandard2.0.

--no-restore - プロジェクトの作成中には暗黙的な復元を実行しません。--no-restore - Doesn't execute an implicit restore during project creation.

mstest, xunitmstest, xunit

-p|--enable-pack - dotnet pack を使用してプロジェクトのパッケージ化を有効にします。-p|--enable-pack - Enables packaging for the project using dotnet pack.

--no-restore - プロジェクトの作成中には暗黙的な復元を実行しません。--no-restore - Doesn't execute an implicit restore during project creation.

globaljsonglobaljson

--sdk-version <VERSION_NUMBER> - global.json ファイル内で使用する .NET Core SDK のバージョンを指定します。--sdk-version <VERSION_NUMBER> - Specifies the version of the .NET Core SDK to use in the global.json file.

webweb

--use-launch-settings - 生成されたテンプレート出力に launchSettings.json を含めます。--use-launch-settings - Includes launchSettings.json in the generated template output.

--no-restore - プロジェクトの作成中には暗黙的な復元を実行しません。--no-restore - Doesn't execute an implicit restore during project creation.

webapiwebapi

-au|--auth <AUTHENTICATION_TYPE> - 使う認証の種類。-au|--auth <AUTHENTICATION_TYPE> - The type of authentication to use. 次の値を指定できます。The possible values are:

  • None - 認証は行われません (既定)。None - No authentication (Default).
  • IndividualB2C - Azure AD B2C での個別認証。IndividualB2C - Individual authentication with Azure AD B2C.
  • SingleOrg - 単一のテナントに対する組織認証。SingleOrg - Organizational authentication for a single tenant.
  • Windows - Windows 認証。Windows - Windows authentication.

--aad-b2c-instance <INSTANCE> - 接続先の Azure Active Directory B2C インスタンス。--aad-b2c-instance <INSTANCE> - The Azure Active Directory B2C instance to connect to. IndividualB2C 認証で使用します。Use with IndividualB2C authentication. 既定値は https://login.microsoftonline.com/tfp/ です。The default value is https://login.microsoftonline.com/tfp/.

-ssp|--susi-policy-id <ID> - このプロジェクト用のサインインおよびサインアップ ポリシー ID です。-ssp|--susi-policy-id <ID> - The sign-in and sign-up policy ID for this project. IndividualB2C 認証で使用します。Use with IndividualB2C authentication.

--aad-instance <INSTANCE> - 接続先の Azure Active Directory インスタンスです。--aad-instance <INSTANCE> - The Azure Active Directory instance to connect to. SingleOrg 認証で使用します。Use with SingleOrg authentication. 既定値は https://login.microsoftonline.com/ です。The default value is https://login.microsoftonline.com/.

--client-id <ID> - このプロジェクトのクライアント ID です。--client-id <ID> - The Client ID for this project. IndividualB2C 認証または SingleOrg 認証で使用します。Use with IndividualB2C or SingleOrg authentication. 既定値は 11111111-1111-1111-11111111111111111 です。The default value is 11111111-1111-1111-11111111111111111.

--domain <DOMAIN> - ディレクトリ テナントのドメインです。--domain <DOMAIN> - The domain for the directory tenant. SingleOrg 認証または IndividualB2C 認証で使用します。Use with SingleOrg or IndividualB2C authentication. 既定値は qualified.domain.name です。The default value is qualified.domain.name.

--tenant-id <ID> - 接続先のディレクトリの TenantId ID です。--tenant-id <ID> - The TenantId ID of the directory to connect to. SingleOrg 認証で使用します。Use with SingleOrg authentication. 既定値は 22222222-2222-2222-2222-222222222222 です。The default value is 22222222-2222-2222-2222-222222222222.

-r|--org-read-access - このアプリケーションにディレクトリへの読み取りアクセスを許可します。-r|--org-read-access - Allows this application read-access to the directory. SingleOrg 認証または MultiOrg 認証にのみ適用されます。Only applies to SingleOrg or MultiOrg authentication.

--use-launch-settings - 生成されたテンプレート出力に launchSettings.json を含めます。--use-launch-settings - Includes launchSettings.json in the generated template output.

-uld|--use-local-db - SQLite ではなく LocalDB が使用されるように指定します。-uld|--use-local-db - Specifies LocalDB should be used instead of SQLite. Individual 認証または IndividualB2C 認証にのみ適用されます。Only applies to Individual or IndividualB2C authentication.

--no-restore - プロジェクトの作成中には暗黙的な復元を実行しません。--no-restore - Doesn't execute an implicit restore during project creation.

mvc, razormvc, razor

-au|--auth <AUTHENTICATION_TYPE> - 使う認証の種類。-au|--auth <AUTHENTICATION_TYPE> - The type of authentication to use. 次の値を指定できます。The possible values are:

  • None - 認証は行われません (既定)。None - No authentication (Default).
  • Individual - 個別認証です。Individual - Individual authentication.
  • IndividualB2C - Azure AD B2C での個別認証。IndividualB2C - Individual authentication with Azure AD B2C.
  • SingleOrg - 単一のテナントに対する組織認証。SingleOrg - Organizational authentication for a single tenant.
  • MultiOrg - 複数のテナントに対する組織認証です。MultiOrg - Organizational authentication for multiple tenants.
  • Windows - Windows 認証。Windows - Windows authentication.

--aad-b2c-instance <INSTANCE> - 接続先の Azure Active Directory B2C インスタンス。--aad-b2c-instance <INSTANCE> - The Azure Active Directory B2C instance to connect to. IndividualB2C 認証で使用します。Use with IndividualB2C authentication. 既定値は https://login.microsoftonline.com/tfp/ です。The default value is https://login.microsoftonline.com/tfp/.

-ssp|--susi-policy-id <ID> - このプロジェクト用のサインインおよびサインアップ ポリシー ID です。-ssp|--susi-policy-id <ID> - The sign-in and sign-up policy ID for this project. IndividualB2C 認証で使用します。Use with IndividualB2C authentication.

-rp|--reset-password-policy-id <ID> - このプロジェクトのリセット パスワード ポリシー ID です。-rp|--reset-password-policy-id <ID> - The reset password policy ID for this project. IndividualB2C 認証で使用します。Use with IndividualB2C authentication.

-ep|--edit-profile-policy-id <ID> - このプロジェクトの編集プロファイル ポリシー ID です。-ep|--edit-profile-policy-id <ID> - The edit profile policy ID for this project. IndividualB2C 認証で使用します。Use with IndividualB2C authentication.

--aad-instance <INSTANCE> - 接続先の Azure Active Directory インスタンスです。--aad-instance <INSTANCE> - The Azure Active Directory instance to connect to. SingleOrg 認証または MultiOrg 認証で使用します。Use with SingleOrg or MultiOrg authentication. 既定値は https://login.microsoftonline.com/ です。The default value is https://login.microsoftonline.com/.

--client-id <ID> - このプロジェクトのクライアント ID です。--client-id <ID> - The Client ID for this project. IndividualB2C 認証、SingleOrg 認証、または MultiOrg 認証で使用します。Use with IndividualB2C, SingleOrg, or MultiOrg authentication. 既定値は 11111111-1111-1111-11111111111111111 です。The default value is 11111111-1111-1111-11111111111111111.

--domain <DOMAIN> - ディレクトリ テナントのドメインです。--domain <DOMAIN> - The domain for the directory tenant. SingleOrg 認証または IndividualB2C 認証で使用します。Use with SingleOrg or IndividualB2C authentication. 既定値は qualified.domain.name です。The default value is qualified.domain.name.

--tenant-id <ID> - 接続先のディレクトリの TenantId ID です。--tenant-id <ID> - The TenantId ID of the directory to connect to. SingleOrg 認証で使用します。Use with SingleOrg authentication. 既定値は 22222222-2222-2222-2222-222222222222 です。The default value is 22222222-2222-2222-2222-222222222222.

--callback-path <PATH> - リダイレクト URI のアプリケーションの基本パス内の要求パスです。--callback-path <PATH> - The request path within the application's base path of the redirect URI. SingleOrg 認証または IndividualB2C 認証で使用します。Use with SingleOrg or IndividualB2C authentication. 既定値は /signin-oidc です。The default value is /signin-oidc.

-r|--org-read-access - このアプリケーションにディレクトリへの読み取りアクセスを許可します。-r|--org-read-access - Allows this application read-access to the directory. SingleOrg 認証または MultiOrg 認証にのみ適用されます。Only applies to SingleOrg or MultiOrg authentication.

--use-launch-settings - 生成されたテンプレート出力に launchSettings.json を含めます。--use-launch-settings - Includes launchSettings.json in the generated template output.

--use-browserlink - プロジェクトに BrowserLink を含めます。--use-browserlink - Includes BrowserLink in the project.

-uld|--use-local-db - SQLite ではなく LocalDB が使用されるように指定します。-uld|--use-local-db - Specifies LocalDB should be used instead of SQLite. Individual 認証または IndividualB2C 認証にのみ適用されます。Only applies to Individual or IndividualB2C authentication.

--no-restore - プロジェクトの作成中には暗黙的な復元を実行しません。--no-restore - Doesn't execute an implicit restore during project creation.

pagepage

-na|--namespace <NAMESPACE_NAME> - 生成するコードの名前空間です。-na|--namespace <NAMESPACE_NAME>- Namespace for the generated code. 既定値は MyApp.Namespace です。The default value is MyApp.Namespace.

-np|--no-pagemodel - PageModel なしでページを作成します。-np|--no-pagemodel - Creates the page without a PageModel.

viewimportsviewimports

-na|--namespace <NAMESPACE_NAME> - 生成するコードの名前空間です。-na|--namespace <NAMESPACE_NAME>- Namespace for the generated code. 既定値は MyApp.Namespace です。The default value is MyApp.Namespace.

使用例Examples

現在のディレクトリに、F# コンソール アプリケーション プロジェクトを作成します。Create an F# console application project in the current directory:

dotnet new console -lang F#

指定したディレクトリ内に .NET 標準クラス ライブラリ プロジェクトを作成します (.NET Core SDK 2.0 またはそれ以降のバージョンでのみ使用可能)。Create a .NET Standard class library project in the specified directory (available only with .NET Core SDK 2.0 or later versions):

dotnet new classlib -lang VB -o MyLibrary

認証なしで、現在のディレクトリに新しい ASP.NET Core C# MVC アプリケーション プロジェクトを作成します。Create a new ASP.NET Core C# MVC application project in the current directory with no authentication:

dotnet new mvc -au None

新しい xUnit アプリケーションを作成します。Create a new xUnit application:

dotnet new xunit

MVC に利用できるすべてのテンプレートを一覧表示します。List all templates available for MVC:

dotnet new mvc -l

ASP.NET Core のシングル ページ アプリケーション テンプレートのバージョン 2.0 をインストールします (コマンド オプションは .NET Core SDK 1.1 以降のバージョンでのみ使用できます):Install version 2.0 of the Single Page Application templates for ASP.NET Core (command option available for .NET Core SDK 1.1 and later versions only):

dotnet new -i Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0

SDK バージョン 2.0.0 (.NET Core SDK 2.0 以降のバージョンでのみ使用できます) を設定している現在のディレクトリ内に global.json を作成します。Create a global.json in the current directory setting the SDK version to 2.0.0 (available only with .NET Core SDK 2.0 or later versions):

dotnet new globaljson --sdk-version 2.0.0

関連項目See also

dotnet new のカスタム テンプレートCustom templates for dotnet new
dotnet new のカスタム テンプレートを作成するCreate a custom template for dotnet new
dotnet/dotnet-template-samples GitHub リポジトリdotnet/dotnet-template-samples GitHub repo
dotnet new で使用できるテンプレートAvailable templates for dotnet new