Skip to content

Latest commit

 

History

History
465 lines (351 loc) · 14.5 KB

File metadata and controls

465 lines (351 loc) · 14.5 KB

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 2025.

Chapter 1 - Hello, C#! Welcome, .NET!

Page 13 - Installing other extensions

code --install-extension ms-dotnettools.csdevkit

Page 18 - Listing and removing versions of .NET

Listing all installed .NET SDKS:

dotnet --list-sdks

Listing all installed .NET runtimes:

dotnet --list-runtimes

Details of all .NET installations:

dotnet --info

Page 26 - Understanding top-level programs

If 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-main

Page 34 - Cloning the book solution code repository

git clone https://github.com/markjprice/cs14net10.git

Page 36 - Converting a file-based app to a project-based app

Converting a file-based app to a project-based app:

dotnet project convert app.cs

Page 36 - Publishing a file-based app

Publishing a file-based app:

dotnet publish app.cs

Chapter 2 - Speaking C#

Page 45 - How to output the SDK version

Output the current version of the .NET SDK:

dotnet --version

Page 92 - Exploring more about console apps

Example of a command line with multiple arguments:

dotnet new console -lang "F#" --name "ExploringConsole"

Page 104 - Passing arguments to a console app

With the dotnet command-line tool, you can pass the name of a new project template, as shown in the following commands:

dotnet new console
dotnet new mvc

Page 106 - Passing arguments to a console app

Passing four arguments when running your project:

dotnet run firstarg second-arg third:arg "fourth arg"

Page 108 - Passing arguments to a console app

Setting options using arguments:

dotnet run red yellow 50

Chapter 4 - Writing, Debugging, and Testing Functions

Page 202 - Creating a class library that needs testing

Creating a class library project and adding it to the solution file:

dotnet new classlib -o CalculatorLib
dotnet sln add CalculatorLib

Creating an XUnit text project and adding it to the solution file:

dotnet new xunit -o CalculatorLibUnitTests
dotnet sln add CalculatorLibUnitTests

Running a unit test project:

dotnet test

Chapter 7 - Packaging and Distributing .NET Types

Page 359 - Checking your .NET SDKs for updates

Listing the installed .NET SDKs with a column to indicate if it has a newer version that can be upgraded to:

dotnet sdk check

Page 372 - Creating a .NET Standard 2.0 class library

Creating a new class library project that targets .NET Standard 2.0:

dotnet new classlib -f netstandard2.0

Page 373 - Controlling the .NET SDK

Listing the installed .NET SDKs:

dotnet --list-sdks

Creating 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 8.0.410

Creating a class library project:

dotnet new classlib

Page 378 - Understanding dotnet commands

Listing available project templates using .NET 7 or later:

dotnet new list

Listing available project templates using .NET 6 or earlier:

dotnet new --list

Listing available project templates using .NET 6 or earlier (short form):

dotnet new -l

Page 379 - Getting information about .NET and its environment

To see what .NET SDKs and runtimes are currently installed, alongside information about the OS:

dotnet --info

Page 381 - Setting project properties at the command line

dotnet <command> -p:<PropertyName>=<Value>
dotnet build -p:TargetFramework=net6.0
dotnet publish -p:PublishDir=./custom_output/
dotnet run -p:DefineConstants=DEBUG
dotnet build -p:BuildInParallel=false
dotnet build -p:Configuration=Release -p:Version=1.0.0

Page 382 - Publishing a self-contained app

Build and publish the release version for Windows:

dotnet publish -c Release -r win-x64 --self-contained

Build and publish the release version for Windows on ARM64:

dotnet publish -c Release -r win-arm64 --self-contained

Build and publish the release version for macOS on Apple Silicon:

dotnet publish -c Release -r osx-arm64 --self-contained

Build and publish the release version for Linux on Intel:

dotnet publish -c Release -r linux-x64 --self-contained

Page 384 - Publishing a single-file app

dotnet publish -c Release -r win-x64 --no-self-contained -p:PublishSingleFile=true
dotnet publish -c Release -r win-x64 --self-contained -p:PublishSingleFile=true

Page 385 - Reducing the size of apps using app trimming

dotnet publish -c Release -r win-x64 --self-contained -p:PublishSingleFile=true -p:PublishTrimmed=True
dotnet publish -c Release -r win-x64 --self-contained -p:PublishSingleFile=true -p:PublishTrimmed=True -p:TrimMode=Link

Page 386 - Controlling where build artifacts are created

To create a MSBuild Directory.Build.props file:

dotnet new buildprops --use-artifacts

Page 390 - Publishing a native AOT project

dotnet publish

Chapter 10 - Working with Data Using Entity Framework Core

Page 518 - Setting up SQLite CLI tools for Windows

To confirm that the path to SQLite has been configured correctly, at any command prompt or terminal, enter the following command to start SQLite:

sqlite3

Page 518 - Setting up SQLite for macOS and Linux

On Linux, you can get set up with SQLite using the following command:

sudo apt-get install sqlite3

Page 519 - Creating the Northwind sample database for SQLite

Creating the Northwind SQLite database:

sqlite3 Northwind.db -init Northwind4SQLite.sql

Page 535 - Setting up the dotnet-ef tool

Listing installed dotnet global tools:

dotnet tool list --global

Updating an older dotnet-ef tool:

dotnet tool update --global dotnet-ef

Installing the latest dotnet-ef as a global tool:

dotnet tool install --global dotnet-ef

Updating to a specific version of dotnet-ef tool like the latest EF Core 11 preview after February 2026:

dotnet tool update --global dotnet-ef --version 11.0-*

Uninstalling an older dotnet-ef tool:

dotnet tool uninstall --global dotnet-ef

Page 538 - Scaffolding models using an existing database

dotnet ef dbcontext scaffold "Data Source=Northwind.db" Microsoft.EntityFrameworkCore.Sqlite --table Categories --table Products --output-dir AutoGenModels --namespace WorkingWithEFCore.AutoGen --data-annotations --context NorthwindDb

Note 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

Chapter 11 - Querying and Manipulating Data Using LINQ

Page 587 - Creating a console app for exploring LINQ to Entities

Creating the Northwind SQLite database:

sqlite3 Northwind.db -init Northwind4Sqlite.sql

Chapter 12 - Introducing Modern Web Development Using .NET

Page 622 - Defining project properties to reuse version numbers

To update a project after changing package versions:

dotnet restore

To create a new file named Directory.Packages.props:

dotnet new packagesprops

Page 629 - Creating a class library for entity models using SQLite

Creating the Northwind SQLite database:

sqlite3 Northwind.db -init Northwind4SQLite.sql

Changing to the project folder:

cd Northwind.EntityModels.Sqlite

Creating the EF Core model for the Northwind database:

dotnet ef dbcontext scaffold "Data Source=../Northwind.db" Microsoft.EntityFrameworkCore.Sqlite --namespace Northwind.EntityModels --data-annotations

Chapter 13 - Building Websites Using ASP.NET Core

Page 651 - Creating an empty ASP.NET Core project

To create a new empty ASP.NET Core project:

dotnet new web

Page 656 - Testing and securing the website

Starting an ASP.NET Core project and specifying the https profile:

dotnet run --launch-profile https

Chapter 14 - Interactive Web Components Using Blazor

Page 690 - Creating a Blazor Web App project

Creating a new project using the Blazor Web App template with server-side or client-side interactivity enabled:

dotnet new blazor --interactivity Auto -o Northwind.Blazor

Chapter 15 - Building and Consuming Web Services

Page 738 - Creating an ASP.NET Core Minimal API project

Creating a Web API project using ASP.NET Core Minimal API:

dotnet new webapi -o Northwind.WebApi

Creating a Web API project using Minimal API (explicitly):

dotnet new webapi --use-minimal-api -o Northwind.WebApi

Creating a Web API project using Minimal APIs (explicitly, short form):

dotnet new webapi -minimal -o Northwind.WebApi

Creating a Web API project using controllers:

dotnet new webapi --use-controllers -o Northwind.WebApi

Creating a Web API project using controllers (short form):

dotnet new webapi -controllers -o Northwind.WebApi