dotnet(1) | .NET Documentation | dotnet(1) |
This article applies to: ✔️ .NET Core 3.1 SDK and later versions
dotnet - The generic driver for the .NET CLI.
To get information about the available commands and the environment:
dotnet [--version] [--info] [--list-runtimes] [--list-sdks] dotnet -h|--help
To run a command (requires SDK installation):
dotnet <COMMAND> [-d|--diagnostics] [-h|--help] [--verbosity <LEVEL>] [command-options] [arguments]
To run an application:
dotnet [--additionalprobingpath <PATH>] [--additional-deps <PATH>] [--fx-version <VERSION>] [--roll-forward <SETTING>] <PATH_TO_APPLICATION> [arguments] dotnet exec [--additionalprobingpath] [--additional-deps <PATH>] [--depsfile <PATH>] [--fx-version <VERSION>] [--roll-forward <SETTING>] [--runtimeconfig <PATH>] <PATH_TO_APPLICATION> [arguments]
The dotnet command has two functions:
For example, dotnet build builds a project. Each command defines its own options and arguments. All commands support the --help option for printing out brief documentation about how to use the command.
You specify the path to an application .dll file to run the application. To run the application means to find and execute the entry point, which in the case of console apps is the Main method. For example, dotnet myapp.dll runs the myapp application. See .NET application deployment to learn about deployment options.
Different options are available for:
The following options are available when dotnet is used by itself, without specifying a command or an application to run. For example, dotnet --info or dotnet --version. They print out information about the environment.
Prints out detailed information about a .NET installation and the machine environment, such as the current operating system, and commit SHA of the .NET version.
Prints out the version of the .NET SDK used by dotnet commands, which may be affected by a global.json file. Available only when the SDK is installed.
Prints out a list of the installed .NET runtimes. An x86 version of the SDK lists only x86 runtimes, and an x64 version of the SDK lists only x64 runtimes.
Prints out a list of the installed .NET SDKs.
Prints out a list of available commands.
The following options are for dotnet with a command. For example, dotnet build --help or dotnet build --verbosity diagnostic.
Enables diagnostic output.
Sets the verbosity level of the command. Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]. Not supported in every command. See specific command page to determine if this option is available.
Prints out documentation for a given command. For example, dotnet build --help displays help for the build command.
Each command defines options specific to that command. See specific command page for a list of available options.
The following options are available when dotnet runs an application. For example, dotnet --roll-forward Major myapp.dll.
Path containing probing policy and assemblies to probe. Repeat the option to specify multiple paths.
Path to an additional .deps.json file. A deps.json file contains a list of dependencies, compilation dependencies, and version information used to address assembly conflicts. For more information, see Runtime Configuration Files (https://github.com/dotnet/sdk/blob/main/documentation/specs/runtime-configuration-file.md) on GitHub.
Controls how roll forward is applied to the app. The SETTING can be one of the following values. If not specified, Minor is the default.
With the exception of Disable, all settings will use the highest available patch version.
Roll forward behavior can also be configured in a project file property, a runtime configuration file property, and an environment variable. For more information, see Major-version runtime roll forward.
Version of the .NET runtime to use to run the application.
This option overrides the version of the first framework reference in the application’s .runtimeconfig.json file. This means it only works as expected if there’s just one framework reference. If the application has more than one framework reference, using this option may cause errors.
The following options are available only when dotnet runs an application by using the exec command. For example, dotnet exec --runtimeconfig myapp.runtimeconfig.json myapp.dll.
Path to a deps.json file. A deps.json file is a configuration file that contains information about dependencies necessary to run the application. This file is generated by the .NET SDK.
Path to a runtimeconfig.json file. A runtimeconfig.json file contains run-time settings and is typically named <applicationname>.runtimeconfig.json. For more information, see .NET runtime configuration settings.
Command | Function |
dotnet build | Builds a .NET application. |
dotnet build-server | Interacts with servers started by a build. |
dotnet clean | Clean build outputs. |
dotnet exec | Runs a .NET application. |
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 sdk check | Shows up-to-date status of installed SDK and Runtime versions. |
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. |
Command | Function |
dotnet add reference | Adds a project reference. |
dotnet list reference | Lists project references. |
dotnet remove reference | Removes a project reference. |
Command | Function |
dotnet add package | Adds a NuGet package. |
dotnet remove package | Removes a NuGet package. |
Command | Function |
dotnet nuget delete | Deletes or unlists a package from the server. |
dotnet nuget push | Pushes a package to the server and publishes it. |
dotnet nuget locals | Clears or lists local NuGet resources such as http-request cache, temporary cache, or machine-wide global packages folder. |
dotnet nuget add source | Adds a NuGet source. |
dotnet nuget disable source | Disables a NuGet source. |
dotnet nuget enable source | Enables a NuGet source. |
dotnet nuget list source | Lists all configured NuGet sources. |
dotnet nuget remove source | Removes a NuGet source. |
dotnet nuget update source | Updates a NuGet source. |
Command | Function |
dotnet workload install | Installs an optional workload. |
dotnet workload list | Lists all installed workloads. |
dotnet workload repair | Repairs all installed workloads. |
dotnet workload search | List selected workloads or all available workloads. |
dotnet workload uninstall | Uninstalls a workload. |
dotnet workload update | Reinstalls all installed workloads. |
Tools are console applications that are installed from NuGet packages and are invoked from the command prompt. You can write tools yourself or install tools written by third parties. Tools are also known as global tools, tool-path tools, and local tools. For more information, see .NET tools overview.
Command | Function |
dotnet tool install | Installs a tool on your machine. |
dotnet tool list | Lists all global, tool-path, or local tools currently installed on your machine. |
dotnet tool search | Searches NuGet.org for tools that have the specified search term in their name or metadata. |
dotnet tool uninstall | Uninstalls a tool from your machine. |
dotnet tool update | Updates a tool that is installed on your machine. |
The following additional tools are available as part of the .NET SDK:
Tool | Function |
dev-certs | Creates and manages development certificates. |
ef | Entity Framework Core command-line tools. |
user-secrets | Manages development user secrets. |
watch | A file watcher that restarts or hot reloads an application when it detects changes in the source code. |
For more information about each tool, type dotnet <tool-name> --help.
Create a new .NET console application:
dotnet new console
Build a project and its dependencies in a given directory:
dotnet build
Run an application:
dotnet exec myapp.dll
dotnet myapp.dll
2023-10-25 |