Skip to content

Commit d9ffce7

Browse files
committed
Add item for page 15
1 parent 53699b2 commit d9ffce7

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

docs/errata/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ If you find any mistakes in the eighth edition, *C# 12 and .NET 8 - Modern Cross
44

55
[**Errata** (44 items)](errata.md): Typos, tool user interface and behavior changes, or mistakes in code that would cause a compilation error that prevents a successful build.
66

7-
[**Improvements** (62 items)](improvements.md): Changes to text or code that would improve the content. These are optional.
7+
[**Improvements** (63 items)](improvements.md): Changes to text or code that would improve the content. These are optional.
88

99
[**Common Mistakes** (6 items)](common-mistakes.md): These are some of the most common mistakes that a reader might encounter when trying to get code in book tasks to work, or when trying to write your own code.
1010

docs/errata/improvements.md

+16-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
**Improvements** (62 items)
1+
**Improvements** (63 items)
22

33
If you have suggestions for improvements, then please [raise an issue in this repository](https://github.com/markjprice/cs12dotnet8/issues) or email me at markjprice (at) gmail.com.
44

55
- [Page 2 - Getting code solutions for this book](#page-2---getting-code-solutions-for-this-book)
66
- [Page 4 - Setting up your development environment](#page-4---setting-up-your-development-environment)
7+
- [Page 15 - Listing and removing versions of .NET](#page-15---listing-and-removing-versions-of-net)
78
- [Page 16 - Understanding intermediate language](#page-16---understanding-intermediate-language)
89
- [Page 54 - Understanding C# standards](#page-54---understanding-c-standards)
910
- [Page 62 - Blocks](#page-62---blocks)
@@ -83,6 +84,20 @@ You can ignore this warning and click **Continue** because you are only using Gi
8384
8485
In this section, I explain what code editors and other tools you typically use to work on .NET project. Most readers use Visual Studio 2022, which is a large and complex tool that can do many things. But for .NET developers, it likes to give its own mechanism to do as much as possible, and a developer can easily think that Visual Studio is the only way to do things. It is just a tool that does work for you that you could do manually. It just shows you a view onto what is really happening in the files you're working on. You could literally just use a plain text editor to manually edit all project files and then use the `dotnet` command-line interface to do all your .NET work. So in the next edition I will add a few paragraphs about this.
8586

87+
# Page 15 - Listing and removing versions of .NET
88+
89+
> Thanks to [s3ba-b](https://github.com/s3ba-b) who raised this [issue on November 5, 2024](https://github.com/markjprice/cs12dotnet8/issues/75).
90+
91+
In the first paragraph I wrote, ".NET runtime updates are compatible with a major version such as 8.x, and updated releases of the .NET SDK maintain the ability to build applications that target previous versions of the runtime, which enables the safe removal of older versions."
92+
93+
This could be clearer, so in the 10th edition*, I will write soemthing like:
94+
95+
"All future versions of the .NET 10 runtime are compatible with its major version. For example, if a project targets `net10.0`, then you can upgrade the .NET runtime to future versions like `10.0.1`, `10.0.2`, and so on. In fact, you *must* upgrade the .NET runtime every month to maintain support."
96+
97+
"All future versions of the .NET SDK maintain the ability to build projects that target previous versions of the runtime. For example, if a project targets `net10.0` and you initially build it using .NET SDK `10.0.100`, then you can upgrade the .NET SDK to future bug fix versions like `10.0.101` or a major version like `11.0.100`, and that SDK can still build the project for the older targetted version. This means that you can safely remove all older versions of any .NET SDKs like `8.0.100`, `9.0.100`, or `10.0.100`, after you've installed a .NET SDK 11 or later. You will still be able to build all your old projects that target those older versions."
98+
99+
*It is too late to make this improvement in the 9th edition.
100+
86101
# Page 16 - Understanding intermediate language
87102

88103
I wrote, "The C# compiler (named Roslyn) used by the dotnet CLI tool converts your C# source code into intermediate language (IL) code and stores the IL in an assembly (a DLL or EXE file). IL code statements are like assembly language instructions, which are executed by .NET’s virtual machine, known as CoreCLR."

0 commit comments

Comments
 (0)