This topic applies to: ✓ .NET Core SDK 1.x ✓ .NET Core SDK 2.x
dotnet - General driver for running the command-line commands.
dotnet [command] [arguments] [--additional-deps] [--additionalprobingpath] [-d|--diagnostics] [--fx-version] [-h|--help] [--info] [--roll-forward-on-no-candidate-fx] [-v|--verbose] [--version]
dotnet is a generic driver for the Command Line Interface (CLI) toolchain. Invoked on its own, it provides brief usage instructions.
Each specific feature is implemented as a command. In order to use the feature, the command is specified after
dotnet, such as
dotnet build. All of the arguments following the command are its own arguments.
The only time
dotnet is used as a command on its own is to run framework-dependent apps. Specify an application DLL after the
dotnet verb to execute the application (for example,
Path to additional deps.json file.
Path containing probing policy and assemblies to probe.
Enables diagnostic output.
Version of the installed .NET Core runtime to use to run the application.
Prints out a short help for the command. If using with
dotnet, it also prints a list of the available commands.
Prints out detailed information about the CLI tooling and the environment, such as the current operating system, commit SHA for the version, and other information.
Rolls forward on no candidate shared framework.
Enables verbose output.
Prints out the version of the .NET Core SDK in use.
|dotnet build||Builds a .NET Core application.|
|dotnet clean||Clean build outputs.|
|dotnet help||Shows more detailed documentation online for the command.|
|dotnet migrate||Migrates a valid Preview 2 project to a .NET Core SDK 1.0 project.|
|dotnet msbuild||Provides access to the MSBuild command line.|
|dotnet new||Initializes a C# or F# project for a given template.|
|dotnet pack||Creates a NuGet package of your code.|
|dotnet publish||Publishes a .NET framework-dependent or self-contained application.|
|dotnet restore||Restores the dependencies for a given application.|
|dotnet run||Runs the application from source.|
|dotnet sln||Options to add, remove, and list projects in a solution file.|
|dotnet store||Stores assemblies in the runtime package store.|
|dotnet test||Runs tests using a test runner.|
|dotnet add reference||Add a project reference.|
|dotnet list reference||List project references.|
|dotnet remove reference||Remove a project reference.|
|dotnet add package||Add a NuGet package.|
|dotnet remove package||Remove a NuGet package.|
|dotnet nuget delete||Deletes or unlists a package from the server.|
|dotnet nuget locals||Clears or lists local NuGet resources such as http-request cache, temporary cache, or machine-wide global packages folder.|
|dotnet nuget push||Pushes a package to the server and publishes it.|
Initialize a sample .NET Core console application that can be compiled and run:
dotnet new console
Restore dependencies for a given application:
Starting with .NET Core 2.0, you don't have to run
dotnet restore because it's run implicitly by all commands, such as
dotnet build and
dotnet run, that require a restore to occur. It's still a valid command in certain scenarios where doing an explicit restore makes sense, such as continuous integration builds in Visual Studio Team Services or in build systems that need to explicitly control the time at which the restore occurs.
Build a project and its dependencies in a given directory:
Run a framework-dependent app named
The primary package cache. If not set, it defaults to
$HOME/.nuget/packages on Unix or
%HOME%\NuGet\Packages on Windows.
Specifies the location of the servicing index to use by the shared host when loading the runtime.
Specifies whether data about the .NET Core tools usage is collected and sent to Microsoft. Set to
true to opt-out of the telemetry feature (values
yes accepted); otherwise, set to
false to opt-in to the telemetry features (values
no accepted). If not set, the defaults is
false, and the telemetry feature is active.
Specifies whether .NET Core runtime, shared framework or SDK are resolved from the global location. If not set, it defaults to
true. Set to
false to not resolve from the global location and have isolated .NET Core installations (values
false are accepted). For more information about multi-level lookup, see Multi-level SharedFX Lookup.