Skip to content

Latest commit

 

History

History
450 lines (341 loc) · 14.4 KB

command-lines.md

File metadata and controls

450 lines (341 loc) · 14.4 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 2023.

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

Page 12 - Managing VS Code extensions at the command prompt

code --install-extension ms-dotnettools.csdevkit

Page 16 - 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 22 - 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 27 - Writing code using VS Code

Using the dotnet CLI to create a new solution named Chapter01:

dotnet new sln --name Chapter01

Creating a new Console App project in a folder named HelloCS with a project file named HelloCS.csproj:

dotnet new console --output HelloCS

Adding a named project to the solution file:

dotnet sln add HelloCS

Opening VS Code in the current folder:

code .

Creating a new Console App project named HelloCS that targets a specified framework version, for example, .NET 8:

dotnet new console -f net8.0 -o HelloCS

Page 30 - Compiling and running code using the dotnet CLI

dotnet run

Page 30 - Adding a second project using VS Code

Creating a project named AboutMyEnvironment using the legacy Program class with a Main method:

dotnet new console -o AboutMyEnvironment --use-program-main

Add the project to the solution:

dotnet sln add AboutMyEnvironment

Page 36 - Cloning the book solution code repository

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

Page 37 - Getting help for the dotnet tool

Getting help for a dotnet command like build from the documentation web page:

dotnet help build

Getting 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 -?

Chapter 2 - Speaking C#

Page 59 - How to output the SDK version

Output the current version of the .NET SDK:

dotnet --version

Page 104 - Exploring more about console apps

Example of a command line with multiple arguments:

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

Page 118 - Passing arguments to a console app

Passing four arguments when running your project:

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

Setting options using arguments:

dotnet run red yellow 50

Chapter 4 - Writing, Debugging, and Testing Functions

Page 213 - Hot reloading using VS Code and dotnet watch

Starting a project using Hot Reload:

dotnet watch

Page 216 - 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 371 - 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 383 - 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 384 - 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.400

Page 389 - 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 389 - Getting information about .NET and its environment

Getting detailed information about installed .NET runtimes, SDKs, and workloads:

dotnet --info

Page 391 - 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 393 - 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 394 - Enabling assembly-level trimming

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

Page 395 - Enabling type-level and member-level trimming

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

Page 395 - Controlling where build artifacts are created

To create a MSBuild Directory.Build.props file:

dotnet new buildprops --use-artifacts

Page 400 - Publishing a native AOT project

dotnet publish

Chapter 10 - Working with Data Using Entity Framework Core

Page 533 - 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 533 - Creating the Northwind sample database for SQLite

Creating the Northwind SQLite database:

sqlite3 Northwind.db -init Northwind4SQLite.sql

Page 549 - 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:

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

Uninstalling an older dotnet-ef tool:

dotnet tool uninstall --global dotnet-ef

Page 552 - 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 599 - 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 ASP.NET Core

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

Creating the Northwind SQLite database:

sqlite3 Northwind.db -init Northwind4SQLite.sql

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 660 - Creating an empty ASP.NET Core project

To create a new empty ASP.NET Core project:

dotnet new web

Page 665 - 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 698 - 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