This project contains the source code for the book Essential C# by Mark Michaelis (Addison-Wesley).
Ensure one of the following frameworks is installed at the latest version.
- .NET Framework (Windows)
- .NET Core (All)
Visual Studio 2019 contains the .NET Framework runtime as well as gives options to install .NET Core. Not to mention, it's a great IDE that makes it easy to get started.
Open a console and change the working directory to the desired project location.
git clone https://github.com/IntelliTect/EssentialCSharp.git
cd ./EssentialCSharp/
The source code is the most recently published edition of the book and this is the default branch following the clone command. However, you can switch to a different branch, v6.0 for example, with the command:
git checkout v6.0
EssentialCSharp.sln is the project's main solution, open this with Visual Studio and Build All.
For those using the command line, build all the projects from the /EssentialCSharp/ directory with these commands:
dotnet restore EssentialCSharp.sln
dotnet build EssentialCSharp.sln
Navigate to an individual project in the /EssentialCSharp/src/(project)/ directory and run the code. The example below is for Chapter01 with the user entering 1.1 to execute the listing number.
To run a listing you must run the the project that contains it. For example, to run Listing 1.1 you must navigate to Chapter01 in the Solution Explorer and set Chapter01 as the startup project. In Rider this can be done by locating the desired project in the Explorer tab, right clicking on the project and clicking run.
$ cd ./src/Chapter01/
$ dotnet run
Enter the listing number to execute (e.g. For Listing 1.1 enter "1.1"): 1.1
____________________________
Hello. My name is Inigo Montoya.
____________________________
End of Listing 01_01
Press any key to exit.
$
Documentation for .NET CLI tools can be found here:
https://docs.microsoft.com/en-us/dotnet/core/tools/
To run all the tests, run dotnet test
on the command prompt in the EssentialCSharp solution directory on your local computer.