Command-Lines
To make it easier to enter commands at the prompt, this page lists all commands as a single line that can be copied and pasted.
Note: Page numbers will be updated once the final print files are made available to me in November 2023.
- Chapter 1 - Hello, C#! Welcome, .NET!
- Page 11 - Managing Visual Studio Code extensions at the command prompt
- Page 15 - Listing and removing versions of .NET
- Page 21 - Understanding top-level programs
- Page 27 - Writing code using Visual Studio Code
- Page 30 - Compiling and running code using the dotnet CLI
- Page 31 - Adding a second project using Visual Studio Code
- Page 37 - Cloning the book solution code repository
- Page 38 - Getting help for the dotnet tool
- Chapter 2 - Speaking C#
- Chapter 4 - Writing, Debugging, and Testing Functions
- Chapter 7 - Packaging and Distributing .NET Types
- Page 379 - Controlling the .NET SDK
- Page 384 - Understanding dotnet commands
- Page 385 - Getting information about .NET and its environment
- Page 386 - Publishing a self-contained app
- Page 388 - Publishing a single-file app
- Page 390 - Enabling assembly-level trimming
- Page 390 - Enabling type-level and member-level trimming
- Page 395 - Publishing a native AOT project
- Chapter 9 - Working with Files, Streams, and Serialization
- Chapter 10 - Working with Data Using Entity Framework Core
- Chapter 11 - Querying and Manipulating Data Using LINQ
- Chapter 12 - Introducing Web Development Using ASP.NET Core
- Chapter 13 - Building Websites Using ASP.NET Core Razor Pages
- Chapter 14 - Building and Consuming Web Services
- Chapter 15 - Building User Interfaces Using Blazor
code --install-extension ms-dotnettools.csdevkitListing all installed .NET SDKS:
dotnet --list-sdksListing all installed .NET runtimes:
dotnet --list-runtimesDetails of all .NET installations:
dotnet --infoIf you are using the dotnet CLI at the command prompt, add a switch to generate a console app project using the legacy Program class with a Main method:
dotnet new console --use-program-mainUsing the dotnet CLI to create a new solution named Chapter01:
dotnet new sln --name Chapter01Creating a new Console App project in a folder named HelloCS with a project file named HelloCS.csproj:
dotnet new console --output HelloCSAdding a named project to the solution file:
dotnet sln add HelloCSOpening Visual Studio Code in the current folder:
code .Creating a new Console App project named HelloCS that targets a specified framework version, for example, .NET 6:
dotnet new console -f net6.0 -o HelloCSdotnet runCreating a project named AboutMyEnvironment using the legacy Program class with a Main method:
dotnet new console -o AboutMyEnvironment --use-program-maingit clone https://github.com/markjprice/cs12dotnet8.gitGetting help for a dotnet command like build from the documentation web page:
dotnet help buildGetting help for a dotnet command like build at the command prompt:
dotnet build -?Getting help for a specified project template, for example, console:
dotnet new console -?Output the current version of the .NET SDK:
dotnet --versionExample of a command line with multiple arguments:
dotnet new console -lang "F#" --name "ExploringConsole"Passing four arguments when running your project:
dotnet run firstarg second-arg third:arg "fourth arg"Setting options using arguments:
dotnet run red yellow 50Starting a project using Hot Reload:
dotnet watchRunning a project with its release configuration:
dotnet run --configuration ReleaseRunning a project with its debug configuration:
dotnet run --configuration DebugAdding the Microsoft.Extensions.Configuration.Binder package:
dotnet add package Microsoft.Extensions.Configuration.BinderAdding the Microsoft.Extensions.Configuration.Json package:
dotnet add package Microsoft.Extensions.Configuration.JsonCreating a class library project and adding it to the solution file:
dotnet new classlib -o CalculatorLibdotnet sln add CalculatorLibCreating an XUnit text project and adding it to the solution file:
dotnet new xunit -o CalculatorLibUnitTestsdotnet sln add CalculatorLibUnitTestsRunning a unit test project:
dotnet testListing the installed .NET SDKs with a column to indicate if it has a newer version that can be upgraded to:
dotnet sdk checkCreating a new class library project that targets .NET Standard 2.0:
dotnet new classlib -f netstandard2.0Listing the installed .NET SDKs:
dotnet --list-sdksCreating a global.json file to control to default .NET SDK for projects created in the current folder and its descendents:
dotnet new globaljson --sdk-version 6.0.320Listing available project templates using .NET 7 or later:
dotnet new listListing available project templates using .NET 6 or earlier:
dotnet new --listListing available project templates using .NET 6 or earlier (short form):
dotnet new -lGetting detailed information about installed .NET runtimes, SDKs, and workloads:
dotnet --infoBuild and publish the release version for Windows:
dotnet publish -c Release -r win-x64 --self-containedBuild and publish the release version for macOS on Intel:
dotnet publish -c Release -r osx-x64 --self-containedBuild and publish the release version for macOS on Apple Silicon:
dotnet publish -c Release -r osx-arm64 --self-containedBuild and publish the release version for Linux on Intel:
dotnet publish -c Release -r linux-x64 --self-containedBuild and publish the release version for Linus on ARM64:
dotnet publish -c Release -r linux-arm64 --self-containeddotnet publish -c Release -r win-x64 --no-self-contained /p:PublishSingleFile=truedotnet publish -c Release -r win-x64 --self-contained /p:PublishSingleFile=truedotnet publish -c Release -r win-x64 --self-contained /p:PublishSingleFile=true -p:PublishTrimmed=Truedotnet publish -c Release -r win-x64 --self-contained /p:PublishSingleFile=true -p:PublishTrimmed=True -p:TrimMode=Linkdotnet publishTo temporarily set an environment variable at the command prompt or terminal on macOS or Linux,
you can use the export command:
export MY_ENV_VAR=DeltaTo set some environment variables at the user and machine scope levels on Windows:
setx MY_SECRET "Beta"setx MY_SECRET "Gamma" /MOn Linux, you can get set up with SQLite using the following command:
sudo apt-get install sqlite3Creating the Northwind SQLite database:
sqlite3 Northwind.db -init Northwind4SQLite.sqlListing installed dotnet global tools:
dotnet tool list --globalUpdating an older dotnet-ef tool:
dotnet tool update --global dotnet-efInstalling the latest dotnet-ef as a global tool:
dotnet tool install --global dotnet-efUninstalling an older dotnet-ef tool:
dotnet tool uninstall --global dotnet-efdotnet ef dbcontext scaffold "Data Source=Northwind.db" Microsoft.EntityFrameworkCore.Sqlite --table Categories --table Products --output-dir AutoGenModels --namespace WorkingWithEFCore.AutoGen --data-annotations --context NorthwindDbNote the following:
- The command action:
dbcontext scaffold - The connection string:
"Data Source=Northwind.db" - The database provider:
Microsoft.EntityFrameworkCore.Sqlite - The tables to generate models for:
--table Categories --table Products - The output folder:
--output-dir AutoGenModels - The namespace:
--namespace WorkingWithEFCore.AutoGen - To use data annotations as well as the Fluent API:
--data-annotations - To rename the context from [database_name]Context:
--context NorthwindDb
Creating the Northwind SQLite database:
sqlite3 Northwind.db -init Northwind4Sqlite.sqlCreating the Northwind SQLite database:
sqlite3 Northwind.db -init Northwind4SQLite.sqlCreating the EF Core model for the Northwind database:
dotnet ef dbcontext scaffold "Data Source=../Northwind.db" Microsoft.EntityFrameworkCore.Sqlite --namespace Northwind.EntityModels --data-annotationsStarting an ASP.NET Core project and specifying the https profile:
dotnet run --launch-profile httpsCreating a Razor Page named Suppliers.cshtml with a code-behind file:
dotnet new page -n Suppliers --namespace Northwind.Web.PageCreating a Web API project using controllers:
dotnet new webapi --use-controllers -o Northwind.WebApiCreating a Web API project using controllers (short form):
dotnet new webapi -controllers -o Northwind.WebApiCreating a Web API project using Minimal APIs:
dotnet new webapi --use-minimal-api -o Northwind.WebApiCreating a Web API project using Minimal APIs (short form):
dotnet new webapi -minimal -o Northwind.WebApiCreating a new project using the Blazor Web App template with no server-side or client-side interactivity enabled by default:
dotnet new blazor --interactivity None -o Northwind.Blazor