|
1 |
| -**Improvements** (62 items) |
| 1 | +**Improvements** (63 items) |
2 | 2 |
|
3 | 3 | 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.
|
4 | 4 |
|
5 | 5 | - [Page 2 - Getting code solutions for this book](#page-2---getting-code-solutions-for-this-book)
|
6 | 6 | - [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) |
7 | 8 | - [Page 16 - Understanding intermediate language](#page-16---understanding-intermediate-language)
|
8 | 9 | - [Page 54 - Understanding C# standards](#page-54---understanding-c-standards)
|
9 | 10 | - [Page 62 - Blocks](#page-62---blocks)
|
@@ -83,6 +84,20 @@ You can ignore this warning and click **Continue** because you are only using Gi
|
83 | 84 |
|
84 | 85 | 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.
|
85 | 86 |
|
| 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 | + |
86 | 101 | # Page 16 - Understanding intermediate language
|
87 | 102 |
|
88 | 103 | 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