- Chapter 1 - Hello, C#! Welcome, .NET!
- Chapter 2 - Speaking C#
- Chapter 3 - Controlling Flow and Converting Types
- Chapter 4 - Writing, Debugging, and Testing Functions
- Chapter 5 - Building Your Own Types with Object-Oriented Programming
- Chapter 6 - Implementing Interfaces and Inheriting Classes
- Chapter 7 - Packaging and Distributing .NET Types
- Chapter 8 - Working with Common .NET Types
- Chapter 9 - Working with Files, Streams, and Serialization
- Chapter 10 - Working with Data Using Entity Framework Core
- Chapter 11 - Querying and Manipulating Data Using LINQ
- Chapter 12 - Improving Performance and Scalability Using Multitasking
- Chapter 13 - Introducing Practical Applications of C# and .NET
- Chapter 14 - Building Websites Using ASP.NET Core Razor Pages
- Chapter 15 - Building Websites Using the Model-View-Controller Pattern
- Chapter 16 - Building and Consuming Web Services
- Chapter 17 - Building User Interfaces Using Blazor
- Chapter 18 - Building and Consuming Other Services
- Chapter 19 - Building Mobile and Desktop Apps Using .NET MAUI
- Chapter 20 - Protecting Your Data and Applications
- Epilogue
- Download Visual Studio for Windows: https://visualstudio.microsoft.com/downloads/
- Sign up for a Microsoft account: https://signup.live.com/
- Visual Studio for Windows documentation: https://docs.microsoft.com/en-us/visualstudio/windows/
- MSBuild and 64-bit Visual Studio 2022: https://devblogs.microsoft.com/dotnet/msbuild-and-64-bit-visual-studio-2022/
- Create C# apps with Visual Studio: https://docs.microsoft.com/en-us/visualstudio/get-started/csharp/
- Tutorial: Open a project from a repo: https://docs.microsoft.com/en-us/visualstudio/get-started/tutorial-open-project-from-repo-visual-studio-2019
- Comparison of Visual Studio Code and Visual Studio: https://www.itworld.com/article/3403683/visual-studio-code-stepping-on-visual-studios-toes.html
- Download Visual Studio Code: https://code.visualstudio.com/
- Set up Visual Studio Code: https://code.visualstudio.com/docs/setup/setup-overview
- Visual Studio Code key bindings and shortcuts: https://code.visualstudio.com/docs/getstarted/keybindings
- Latest versions of Visual Studio Code: https://code.visualstudio.com/updates
- Visual Studio Code documentation: https://code.visualstudio.com/docs
- Visual Studio Code user interface: https://code.visualstudio.com/docs/getstarted/userinterface
- Visual Studio Code support for C#: https://code.visualstudio.com/docs/languages/csharp
- Source code version control with Visual Studio Code: https://code.visualstudio.com/Docs/editor/versioncontrol
- Microsoft's plans for Visual Studio Code: https://github.com/Microsoft/vscode/wiki/Roadmap
- Learning with VS Code on Chromebooks: https://code.visualstudio.com/blogs/2020/12/03/chromebook-get-started
- Google and Amazon are supporters of Visual Studio Code: https://www.cnbc.com/2018/12/20/microsoft-cmo-capossela-says-google-employees-use-visual-studio-code.html
- Visual Studio Code: How Microsoft's 'any OS, any programming language, any software' plan is paying off: https://www.zdnet.com/article/visual-studio-code-how-microsofts-any-os-any-programming-language-any-software-plan-is-paying-off/
- The History of Visual Studio Code: https://mybuild.microsoft.com/sessions/6b571733-8198-48da-b870-ef804dcfea93?source=sessions
- Stack Overflow survey 2021 - Integrated development environment: https://insights.stackoverflow.com/survey/2021#section-most-popular-technologies-integrated-development-environment
- Stack Overflow survey 2019 - Most Popular Development Environments: https://insights.stackoverflow.com/survey/2019#development-environments-and-tools
- Visual Studio for Mac documentation: https://docs.microsoft.com/en-us/visualstudio/mac/
- GitHub Codespaces: https://docs.github.com/en/github/developing-online-with-codespaces/about-codespaces
- JetBrains Rider: https://www.jetbrains.com/rider/
- Rider documentation: https://www.jetbrains.com/help/rider/Introduction.html
- How to code with C# and .NET using a Raspberry Pi 400 with Ubuntu Desktop 64-bit by reading an extra article that I wrote at the following link: https://github.com/markjprice/cs9dotnet5-extras/blob/main/raspberry-pi-ubuntu64/README.md
- .NET Interactive documentation: https://github.com/dotnet/interactive/tree/main/docs
- VS Code Notebooks: A Deep Dive video: https://www.youtube.com/watch?v=D-AXZZDTQhM
- Discuss: File format in the .NET Interactive VS Code extension: dotnet/interactive#467
- Polyglot Notebooks: Variable Sharing: https://devblogs.microsoft.com/dotnet/net-interactive-preview-3-vs-code-insiders-and-polyglot-notebooks/
- Using HTML and JavaScript in .NET Interactive: https://github.com/dotnet/interactive/blob/main/docs/javascript-overview.md
- .NET Interactive Samples: https://github.com/dotnet/interactive/tree/main/samples
- Markdown syntax: https://daringfireball.net/projects/markdown/syntax
- Windows Terminal as your Default Command Line Experience: https://devblogs.microsoft.com/commandline/windows-terminal-as-your-default-command-line-experience/
- .NET Core Command-Line Interface (CLI) tool: https://aka.ms/dotnet-cli-docs
- Download .NET SDK: https://www.microsoft.com/net/download
- Stack Overflow survey 2021 - Most loved frameworks and libraries: https://insights.stackoverflow.com/survey/2021#section-most-loved-dreaded-and-wanted-other-frameworks-and-libraries
- Themes of .NET: https://themesof.net/
- Microsoft's positioning of .NET Core and .NET Framework: https://devblogs.microsoft.com/dotnet/update-on-net-core-3-0-and-net-framework-4-8/
- Microsoft's plans for the journey to one .NET: https://devblogs.microsoft.com/dotnet/announcing-net-5-preview-4-and-our-journey-to-one-net/
- Official list of .NET 6 supported operating systems: https://github.com/dotnet/core/blob/main/release-notes/6.0/supported-os.md
- Windows ARM64 support: dotnet/runtime#36699
- .NET Support Policy: https://dotnet.microsoft.com/platform/support/policy/dotnet-core
- .NET versions: https://docs.microsoft.com/en-us/dotnet/core/versions/
- .NET Uninstall Tool: https://docs.microsoft.com/en-us/dotnet/core/additional-tools/uninstall-tool
- Remove .NET SDKs and runtimes: https://docs.microsoft.com/en-us/dotnet/core/install/remove-runtime-sdk-versions
- ASP.NET Core and EF Core branding for .NET 5: https://docs.microsoft.com/en-us/dotnet/core/dotnet-five
- .NET Optional SDK Workloads: https://github.com/dotnet/designs/blob/main/accepted/2020/workloads/workloads.md
- .NET Core runtime, CoreCLR: https://github.com/dotnet/runtime
- .NET Core Roadmap: https://github.com/dotnet/core/blob/master/roadmap.md
- .NET Standard FAQ: https://github.com/dotnet/standard/blob/master/docs/faq.md
- .NET Standard versions and which .NET platforms support them: https://github.com/dotnet/standard/blob/master/docs/versions.md
- .NET Team Members: https://twitter.com/i/lists/120961876//members
- Mono project: http://www.mono-project.com/
- Unity project: https://docs.unity3d.com/
- Open source projects to enable WCF and WF to migrate to .NET 5: https://devblogs.microsoft.com/dotnet/supporting-the-community-with-wf-and-wcf-oss-projects/
- Open source project for Blazor Web Forms components: https://github.com/FritzAndFriends/BlazorWebFormsComponents
- Download Git: https://git-scm.com/download
- Download GitHub Desktop: https://desktop.github.com
- Become a master at Git and Open Source: https://devblogs.microsoft.com/visualstudio/become-a-master-at-git-and-open-source/
- Raise an issue with the book: https://github.com/markjprice/cs10dotnet6/issues
- .NET Conf 2021 Recap – Videos, Slides, Demos, and More: https://devblogs.microsoft.com/dotnet/net-conf-2021-recap-videos-slides-demos-and-more/
- Microsoft Docs: https://docs.microsoft.com/
- Official .NET Blog written by the .NET engineering teams: https://devblogs.microsoft.com/dotnet/
- Scott Hanselman's videos: http://computerstufftheydidntteachyou.com/
- Get better at programming by learning how things work: https://jvns.ca/blog/learn-how-things-work/
- Practice .NET anywhere with .NET Fiddle: https://dotnetfiddle.net/
- Try .NET: https://try.dot.net/
- Stack Overflow: https://stackoverflow.com/
- Google Advanced Search: https://www.google.com/advanced_search
- Microsoft Learn: https://docs.microsoft.com/en-us/learn/
- .NET Videos: https://dotnet.microsoft.com/learn/videos
- Microsoft Channel 9 – .NET Videos: https://channel9.msdn.com/Search?term=.net&lang-en=true
- Welcome to C# 10: https://devblogs.microsoft.com/dotnet/welcome-to-csharp-10/
- Announcing Open Source C# standardization: https://devblogs.microsoft.com/dotnet/announcing-open-source-c-standardization-standards/
- Rosalyn and C# compiler versions: https://github.com/dotnet/roslyn/blob/master/docs/wiki/NuGet-packages.md
- How Microsoft rewrote its C# compiler in C# and made it open source: https://medium.com/microsoft-open-source-stories/how-microsoft-rewrote-its-c-compiler-in-c-and-made-it-open-source-4ebed5646f98
- Current status of the C# language: https://github.com/dotnet/roslyn/blob/master/docs/Language%20Feature%20Status.md
- C# Language Specification 5.0: https://www.microsoft.com/en-us/download/details.aspx?id=7029
- Draft proposals for C# Language Specifications for 6.0 and later: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/
- What's new in C# 7.3: https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-7-3
- New C# 9.0 features: https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-9
- C# 9 Workshop: https://github.com/dotnet-presentations/csharp-workshop
- C# language versioning: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/configure-language-version
- The history of C#: https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history
- Interview with the C# Boss - Mads Torgersen: https://www.dotnetcurry.com/csharp/1455/mads-torgersen-interview
- The .NET Docs Show - C# Ask Me Anything 🤯: https://www.youtube.com/watch?v=U6cwOzUqjxY
- [EPIC] .NET 6 C# project templates use latest language idioms #3359: dotnet/templating#3359
- SDK support for implicit namespaces in C# projects #25066: dotnet/docs#25066
- C# Reference: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/
- C# Programming Guide: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/
- C# Keywords: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/index
- Naming guidelines: https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/naming-guidelines
- Types (C# Programming Guide): https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/types/
- Statements, Expressions, and Operators (C# Programming Guide): https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/statements-expressions-operators/
- C# 10: https://github.com/dotnet/csharplang/tree/main/proposals/csharp-10.0
- C# 9: https://github.com/dotnet/csharplang/tree/main/proposals/csharp-9.0
- C# 8: https://github.com/dotnet/csharplang/tree/main/proposals/csharp-8.0
- C# 7.3: https://github.com/dotnet/csharplang/tree/main/proposals/csharp-7.3
- C# 7.2: https://github.com/dotnet/csharplang/tree/main/proposals/csharp-7.2
- C# 7.1: https://github.com/dotnet/csharplang/tree/main/proposals/csharp-7.1
- C# 7.0: https://github.com/dotnet/csharplang/tree/main/proposals/csharp-7.0
- C# 6.0: https://github.com/dotnet/csharplang/tree/main/proposals/csharp-6.0
- [Proposal] Required Properties #3630: dotnet/csharplang#3630
- Champion: Simplified parameter null validation code #2145: dotnet/csharplang#2145
- Proposal: Semi-Auto-Properties; field keyword #140: dotnet/csharplang#140
- Working Set (of proposals): https://github.com/dotnet/csharplang/milestone/19
- Strings (C# Programming Guide): https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/strings/
- Verbatim strings: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/tokens/verbatim
- String Interpolation in C# 10 and .NET 6: https://devblogs.microsoft.com/dotnet/string-interpolation-in-c-10-and-net-6/
- Escape sequences: https://devblogs.microsoft.com/csharpfaq/what-character-escape-sequences-are-available/
- Floating point numbers: https://ciechanow.ski/exposing-floating-point/
- Why 0.1 does not exist in floating-point numbers: https://www.exploringbinary.com/why-0-point-1-does-not-exist-in-floating-point/
- American Patriot missile disaster: https://www.ima.umn.edu/~arnold/disasters/patriot.html
- Main() and command-line arguments (C# Programming Guide): https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/main-and-command-args/
- Console Class: https://docs.microsoft.com/en-us/dotnet/api/system.console
- Formatting types: https://docs.microsoft.com/en-us/dotnet/standard/base-types/formatting-types
- Composite Formatting: https://docs.microsoft.com/en-us/dotnet/standard/base-types/composite-formatting
- An Arabic programming language: https://youtu.be/dkO8cdwf6v8
- C# operators: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/statements-expressions-operators/operators
- Truth tables: https://en.wikipedia.org/wiki/Truth_table
- Side effects: https://en.wikipedia.org/wiki/Side_effect_(computer_science)
- Bitwise and shift operators: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/bitwise-and-shift-operators
- Member access operators: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/member-access-operators
- Statement keywords (C# Reference): https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/statement-keywords
- Goto Fail bug: https://gotofail.com/
- goto keyword and examples of when it can be used: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/goto
- Pattern matching: https://docs.microsoft.com/en-us/dotnet/csharp/pattern-matching
- Patterns and switch expressions: https://devblogs.microsoft.com/dotnet/do-more-with-patterns-in-c-8-0/
- Pattern matching overview: https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/functional/pattern-matching
- Patterns (C# reference): https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/patterns
- Taking control of rounding: https://docs.microsoft.com/en-us/dotnet/api/system.math.round
- Format codes for common scenarios: https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings
- Casting and type conversions (C# Programming Guide): https://docs.microsoft.com/en-us/dotnet/articles/csharp/programming-guide/types/casting-and-type-conversions
- 10 Exception handling best practices in C#: https://kumarashwinhubert.com/10-exception-handling-best-practices-in-csharp
- Why can't programmers program? http://blog.codinghorror.com/why-cant-programmers-program/
- FizzBuzz for programming interviews: http://imranontech.com/2007/01/24/using-fizzbuzz-to-find-developers-who-grok-coding/
- Make Better Hiring Decisions With Take-Home Coding Challenges: https://codesubmit.io
- The 30-minute guide to rocking your next coding interview: https://www.freecodecamp.org/news/coding-interviews-for-dummies-5e048933b82b/
- C# Interview Questions: https://www.codingdojo.com/blog/c-interview-questions
- Recursion versus interation: https://en.wikipedia.org/wiki/Recursion_(computer_science)#Recursion_versus_iteration
- Visual Studio for Windows debugger documentation: https://docs.microsoft.com/en-us/visualstudio/debugger/
- Visual Studio Code debugger: https://code.visualstudio.com/docs/editor/debugging
- Instructions for setting up the .NET debugger: https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger.md
- How to debug for absolute beginners: https://docs.microsoft.com/en-us/visualstudio/debugger/debugging-absolute-beginners
- System.Diagnostics Namespace: https://docs.microsoft.com/en-us/dotnet/core/api/system.diagnostics
- Debug class: https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.debug
- Trace listeners: https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.tracelistener
- Console log formatting: https://docs.microsoft.com/en-us/dotnet/core/extensions/console-log-formatter
- Using .env in .NET: https://dusted.codes/dotenv-in-dotnet
- Announcing dotnet monitor in .NET 6: https://devblogs.microsoft.com/dotnet/announcing-dotnet-monitor-in-net-6/
- Test Driven Development (TDD): https://en.wikipedia.org/wiki/Test-driven_development
- Unit testing in .NET: https://docs.microsoft.com/en-us/dotnet/core/testing/
- xUnit.net: http://xunit.net/
- Fields (C# programming guide): https://docs.microsoft.com/en-us/dotnet/articles/csharp/programming-guide/classes-and-structs/fields
- Access modifiers (C# programming guide): https://docs.microsoft.com/en-us/dotnet/articles/csharp/language-reference/keywords/access-modifiers
- Enumeration types (C# reference): https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/enum
- Constructors (C# programming guide): https://docs.microsoft.com/en-us/dotnet/articles/csharp/programming-guide/classes-and-structs/constructors
- Methods (C# programming guide): https://docs.microsoft.com/en-us/dotnet/articles/csharp/methods
- Deconstruct method: https://docs.microsoft.com/en-us/dotnet/csharp/deconstruct
- params keyword: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/params
- ref keyword: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/ref-returns
- Encapsulation of fields using properties: https://stackoverflow.com/questions/1568091/why-use-getters-and-setters-accessors
- Properties (C# programming guide): https://docs.microsoft.com/en-us/dotnet/articles/csharp/properties
- Using Tuples in C# to Initialize Properties in the Constructor and to Deconstruct Your Object: https://www.thomasclaudiushuber.com/2021/03/25/csharp-using-tuples-to-initialize-properties/
- Pattern matching tutorial: https://docs.microsoft.com/en-us/dotnet/csharp/tutorials/pattern-matching
- Comparing struct and class records: https://devblogs.microsoft.com/dotnet/announcing-net-6-release-candidate-2/#record-structs
- How to calculate someone's age: https://stackoverflow.com/questions/9/how-do-i-calculate-someones-age-in-c
- Operator (C# reference): https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/operator-overloading
- Symbols that can be overloaded: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/statements-expressions-operators/overloadable-operators
- Delegates: https://docs.microsoft.com/en-us/dotnet/standard/delegates-lambdas
- Events (C# reference): https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/event
- Custom EventArgs: https://docs.microsoft.com/en-us/dotnet/standard/events/how-to-raise-and-consume-events
- Interfaces: https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/types/interfaces
- Explicit interface implementations: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/interfaces/explicit-interface-implementation
- Design decisions for default interface implementations: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-8.0/default-interface-methods
- Default interface implementations tutorial: https://docs.microsoft.com/en-us/dotnet/csharp/tutorials/default-interface-members-versions
- Generics (C# Programming Guide): https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/generics
- Reference Types (C# Reference): https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/reference-types
- Value Types (C# reference): https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/value-types
- Choosing Between Class and Struct: https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/choosing-between-class-and-struct
- Conversation about the .NET type system: https://devblogs.microsoft.com/dotnet/conversation-about-the-net-type-system/
- Technical details of the internal memory layout of types in .NET: https://adamsitnik.com/Value-Types-vs-Reference-Types/
- Garbage collection: https://docs.microsoft.com/en-us/dotnet/standard/garbage-collection/
- Finalizers (C# Programming Guide): https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/destructors
- Finalizers and disposing: https://docs.microsoft.com/en-us/dotnet/standard/garbage-collection/unmanaged
- IDisposable interface: https://docs.microsoft.com/en-us/dotnet/standard/garbage-collection/using-objects
- The inventor of null, Sir Charles Antony Richard Hoare, admits his mistake in a recorded hour-long talk: https://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare
- The tweet about achieving 80% annotations in .NET 5: https://twitter.com/terrajobst/status/1296566363880742917
- Video to learn how to get rid of null reference exceptions forever: https://channel9.msdn.com/Shows/On-NET/This-is-how-you-get-rid-of-null-reference-exceptions-forever
- Nullable value types (C# reference): https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/nullable-value-types
- Nullable reference types: https://docs.microsoft.com/en-us/dotnet/csharp/nullable-references
- Null-conditional operator: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/null-conditional-operators
- Null-coalescing operator: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/null-coalescing-operator
- Inheritance (C# Programming Guide): https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/inheritance
- .NET Standard 2.1 announcement: https://devblogs.microsoft.com/dotnet/announcing-net-standard-2-1/
- .NET Standard 2.1 APIs and a comparison with .NET Standard 2.0: https://github.com/dotnet/standard/blob/master/docs/versions/netstandard2.1.md
- Future of .NET Standard: https://devblogs.microsoft.com/dotnet/the-future-of-net-standard/
- From .NET Standard to .NET 5: https://www.codemag.com/article/2010022
- .NET Core 1.0 announcement: https://devblogs.microsoft.com/dotnet/announcing-net-core-1-0/
- .NET Core 1.1 announcement: https://devblogs.microsoft.com/dotnet/announcing-net-core-1-1/
- .NET Core 2.0 announcement: https://devblogs.microsoft.com/dotnet/announcing-net-core-2-0/
- .NET Core 2.2 announcement: https://devblogs.microsoft.com/dotnet/announcing-net-core-2-2/
- .NET Core 3.0 announcement: https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0/
- .NET Core 3.1 announcement: https://devblogs.microsoft.com/dotnet/announcing-net-core-3-1/
- .NET 5 announcement: https://devblogs.microsoft.com/dotnet/announcing-net-5-0
- Performance improvements in .NET 5: https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-5/
- .NET 5.0 Runtime Highlights: https://codemag.com/Article/2010092/.NET-5.0-Runtime-Highlights
- Announcing .NET 6 — The Fastest .NET Yet: https://devblogs.microsoft.com/dotnet/announcing-net-6/
- Search and browse all .NET APIs: https://docs.microsoft.com/en-us/dotnet/api/
- CoreFX README.md: https://github.com/dotnet/corefx/blob/master/Documentation/README.md
- .NET 6.0 TFMs: https://github.com/dotnet/designs/pull/174/files
- How packages and their APIs relate to frameworks: https://gist.github.com/davidfowl/8939f305567e1755412d6dc0b8baf1b7
- Example .NET package and the frameworks it supports: https://www.nuget.org/packages/System.IO.FileSystem/
- Currently supported Runtime Identifier (RID) values: https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog
- System.IO.FileSystem package details: https://www.nuget.org/packages/System.IO.FileSystem/
- Roslyn compiler: https://github.com/dotnet/roslyn
- .NET project SDKs: https://docs.microsoft.com/en-us/dotnet/core/project-sdk/overview
- global.json overview: https://docs.microsoft.com/en-us/dotnet/core/tools/global-json
- Additional
dotnet new
templates: https://dotnetnew.azurewebsites.net/ - Tutorial: Create an item template: https://docs.microsoft.com/en-us/dotnet/core/tutorials/cli-templates-create-item-template
- PDB files: https://www.atmosera.com/blog/pdb-files-what-every-developer-must-know/
- Single-file app issue: dotnet/runtime#36590
- App trimming: https://devblogs.microsoft.com/dotnet/app-trimming-in-net-5/
- The PackageReference format: https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets
- NuGet packages: https://www.nuget.org/packages
- Announcing NuGet 6.0: https://devblogs.microsoft.com/nuget/announcing-nuget-6/
- .NET Core application publishing overview: https://docs.microsoft.com/en-us/dotnet/core/deploying/
- How to Deploy .NET apps to Raspberry Pi: https://www.ryadel.com/en/deploy-net-apps-raspberry-pi/
- How to solve a circular reference using an interface: https://stackoverflow.com/questions/6928387/how-to-solve-circular-reference
- Semantic versioning: http://semver.org
- Is it possible to “decompile” a Windows .exe? Or at least view the Assembly? https://stackoverflow.com/questions/273145/is-it-possible-to-decompile-a-windows-exe-or-at-least-view-the-assembly
- IDA Freeware Download Page: https://www.hex-rays.com/products/ida/support/download_freeware/
- Overview of porting from .NET Framework to .NET Core: https://docs.microsoft.com/en-us/dotnet/core/porting/
- What .NET Developers ought to know: https://www.hanselman.com/blog/WhatNETDevelopersOughtToKnowToStartIn2017.aspx
- Introducing the .NET Upgrade Assistant Preview: https://devblogs.microsoft.com/dotnet/introducing-the-net-upgrade-assistant-preview/
- .NET Upgrade Assistant: https://dotnet.microsoft.com/platform/upgrade-assistant
- Discover cross-platform issues: https://docs.microsoft.com/en-us/dotnet/standard/analyzers/api-analyzer#discover-cross-platform-issues
- Amazon Porting Assistant for .NET: https://aws.amazon.com/porting-assistant-dotnet/
- Preview Features: https://github.com/dotnet/designs/blob/main/accepted/2021/preview-features/preview-features.md
- Numerics types: https://docs.microsoft.com/en-us/dotnet/standard/numerics
- The Half type: https://devblogs.microsoft.com/dotnet/introducing-the-half-type/
- nint and nuint types (C# reference): https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/nint-nuint
- nint Struct: https://docs.microsoft.com/en-us/dotnet/api/system.nint
- Names for large numbers: https://en.wikipedia.org/wiki/Names_of_large_numbers
- String Class: https://docs.microsoft.com/en-us/dotnet/api/system.string
- Regex Class: https://docs.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.regex
- Regular expressions in .NET: https://docs.microsoft.com/en-us/dotnet/articles/standard/base-types/regular-expressions
- Regular Expression Language – Quick Reference: https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-language-quick-reference
- Unicode in regular expressions: https://www.regular-expressions.info/unicode.html
- Using a regular expression to split a comma-separated string: https://stackoverflow.com/questions/18144431/regex-to-split-a-csv
- To specify a Unicode character, use
\u
followed by four characters specifying the number of the character. For example,\u00c0
is the À character: https://www.regular-expressions.info - Performance improvements in .NET 5: https://devblogs.microsoft.com/dotnet/regex-performance-improvements-in-net-5/
- Date, Time, and Time Zone Enhancements in .NET 6: https://devblogs.microsoft.com/dotnet/date-time-and-time-zone-enhancements-in-net-6/
- .NET 6: Date and Time Structures: https://www.infoq.com/news/2021/04/Net6-Date-Time/
- Noda Time: A better date and time API for .NET: https://nodatime.org/
- Collections (C# and Visual Basic): https://docs.microsoft.com/en-us/dotnet/api/system.collections
- Collections: https://docs.microsoft.com/en-us/dotnet/standard/collections
- Concurrent collections: https://docs.microsoft.com/en-us/dotnet/api/system.collections.concurrent
- What types should I use to pass collections in C#? https://markheath.net/post/passing-collections-csharp
- On Abstractions and For-Each Performance in C#: https://www.infoq.com/articles/For-Each-Performance/
- Span: https://docs.microsoft.com/en-us/dotnet/api/system.span-1
- How spans work internally: https://docs.microsoft.com/en-us/archive/msdn-magazine/2018/january/csharp-all-about-span-exploring-a-new-net-mainstay
- .NET 6 Networking Improvements: https://devblogs.microsoft.com/dotnet/dotnet-6-networking-improvements/
- .NET API Reference: https://docs.microsoft.com/en-us/dotnet/api/
- Compiler-generated display class: http://stackoverflow.com/a/2509524/55847
- Dynamically load assemblies that are not currently referenced: https://docs.microsoft.com/en-us/dotnet/standard/assembly/unloadability-howto
- Dynamically execute code: https://docs.microsoft.com/en-us/dotnet/api/system.reflection.methodbase.invoke
- Dynamically generate new code and assemblies: https://docs.microsoft.com/en-us/dotnet/api/system.reflection.emit.assemblybuilder
- Extending Metadata Using Attributes: https://docs.microsoft.com/en-us/dotnet/standard/attributes/
- ImageSharp: https://github.com/SixLabors/ImageSharp
- Globalizing and localizing .NET applications: https://docs.microsoft.com/en-us/dotnet/standard/globalization-localization/
- Time zones: https://devblogs.microsoft.com/dotnet/cross-platform-time-zones-with-net-core/
- File System and the Registry (C# Programming Guide): https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/file-system/
- Character encoding in .NET: https://docs.microsoft.com/en-us/dotnet/articles/standard/base-types/character-encoding
- Async streams tutorial: https://docs.microsoft.com/en-us/dotnet/csharp/tutorials/generate-consume-asynchronous-stream
- How pipelines help with I/O performance: https://devblogs.microsoft.com/dotnet/system-io-pipelines-high-performance-io-in-net/
- Serialization (C#): https://docs.microsoft.com/en-us/dotnet/articles/csharp/programming-guide/concepts/serialization/
- Serializing to Files, TextWriters, and XmlWriters: https://docs.microsoft.com/en-us/dotnet/standard/linq/serialize-files-textwriters-xmlwriters
- Newtonsoft Json.NET: https://www.newtonsoft.com/json
- System.Text.Json APIs: https://devblogs.microsoft.com/dotnet/try-the-new-system-text-json-apis/
- Issues solved by the new JSON APIs, including JamesNK's comments: https://github.com/dotnet/corefx/issues/33115
- How to migrate from Newtonsoft.Json to System.Text.Json: https://docs.microsoft.com/en-us/dotnet/standard/serialization/system-text-json-migrate-from-newtonsoft-how-to
- What’s next for System.Text.Json? https://devblogs.microsoft.com/dotnet/whats-next-for-system-text-json/
- Entity Framework 6.3 and its .NET Core 3.0 and later support: https://devblogs.microsoft.com/dotnet/announcing-ef-core-3-0-and-ef-6-3-general-availability/
- EF Core documentation: https://docs.microsoft.com/en-us/ef/core/
- EF Core team's plans: https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-5.0/plan
- New features in EF Core 5: https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-5.0/whatsnew
- New features in EF Core 6: https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-6.0/whatsnew
- Get to Know EF Core 6: https://devblogs.microsoft.com/dotnet/get-to-know-ef-core-6/
- Announcing the Plan for EF7: https://devblogs.microsoft.com/dotnet/announcing-the-plan-for-ef7/
- Plans for Entity Framework Core 6.0 revealed as Microsoft admits it is unlikely to match Dapper for performance: https://www.theregister.com/2021/01/19/entity_framework_core_6/
- Entity Framework Community Standup - Performance Tuning an EF Core App: https://www.youtube.com/watch?v=VgNFFEqwZPU
- EF Core database providers: https://docs.microsoft.com/en-us/ef/core/providers/
- Devart database providers: https://www.devart.com/dotconnect/entityframework.html
- Check the latest NuGet package version: https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Sqlite/
- Document Database Providers for Entity Framework Core: https://github.com/BlueshiftSoftware/EntityFrameworkCore
- Download SQLite: https://www.sqlite.org/download.html
- SQL statements supported by SQLite: https://sqlite.org/lang.html
- Download SQLiteStudio: http://sqlitestudio.pl
- Try SQL Server on-premises or in the cloud: https://www.microsoft.com/en-us/sql-server/sql-server-downloads
- Download SQL Server Management Studio (SSMS): https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms
- Quickstart: Connect and query a SQL Server instance using SQL Server Management Studio (SSMS): https://docs.microsoft.com/en-us/sql/ssms/quickstarts/ssms-connect-query-sql-server
- Quickstart: Connect and query an Azure SQL Database or an Azure Managed Instance using SQL Server Management Studio (SSMS): https://docs.microsoft.com/en-us/sql/ssms/quickstarts/ssms-connect-query-azure-sql
- Use Visual Studio Code to create and run Transact-SQL scripts: https://docs.microsoft.com/en-us/sql/tools/visual-studio-code/sql-server-develop-use-vscode
- .NET Interactive with SQL!| .NET Notebooks in Visual Studio Code: https://devblogs.microsoft.com/dotnet/net-interactive-with-sql-net-notebooks-in-visual-studio-code/
- Welcome to Azure Cosmos DB: https://docs.microsoft.com/en-us/azure/cosmos-db/introduction
- Use NoSQL databases as a persistence infrastructure: https://docs.microsoft.com/en-us/dotnet/standard/microservices-architecture/microservice-ddd-cqrs-patterns/nosql-database-persistence-infrastructure
- EF Core model conventions: https://docs.microsoft.com/en-us/ef/core/modeling/
- Data seeding: https://docs.microsoft.com/en-us/ef/core/modeling/data-seeding
- Humanizer library: http://humanizr.net
- Scaffolding: https://docs.microsoft.com/en-us/ef/core/managing-schemas/scaffolding?tabs=dotnet-core-cli
- Deep Dive into Many-to-Many: A Tour of EF Core 5.0: https://channel9.msdn.com/Shows/On-NET/Deep-Dive-into-Many-to-Many-A-Tour-of-EF-Core-50-pt-2
- Naming Conventions for Entity Framework Core Tables and Columns: https://github.com/efcore/EFCore.NamingConventions
- Filtered include: https://docs.microsoft.com/en-us/ef/core/querying/related-data/eager#filtered-include
- Query tags: https://docs.microsoft.com/en-us/ef/core/querying/tags
- Loading patterns: https://docs.microsoft.com/en-us/ef/core/querying/related-data
- Pooling database contexts: https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-2.0#dbcontext-pooling
- Expression trees: https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/expression-trees/
- LINQ comprehension syntax: https://stackoverflow.com/questions/6229187/linq-why-is-it-called-comprehension-syntax
- LINQ in C#: https://docs.microsoft.com/en-us/dotnet/csharp/linq/linq-in-csharp
- New LINQ extensions in .NET 6 and benchmarks: https://blog.elmah.io/new-linq-extensions-in-net-6-and-benchmarks/
- EF Core LINQ queries no longer evaluated at client: https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-3.x/breaking-changes#linq-queries-are-no-longer-evaluated-on-the-client
- Parallel LINQ (PLINQ): https://docs.microsoft.com/en-us/dotnet/standard/parallel-programming/introduction-to-plinq
- LINQ to XML Overview (C#): https://docs.microsoft.com/en-gb/dotnet/csharp/programming-guide/concepts/linq/linq-to-xml-overview
- 101 LINQ Samples: https://docs.microsoft.com/en-us/samples/dotnet/try-samples/101-linq-samples/
- LINQPad: https://www.linqpad.net/
- Threads and threading: https://docs.microsoft.com/en-us/dotnet/standard/threading/threads-and-threading
- Thread pool: https://docs.microsoft.com/en-us/dotnet/standard/threading/the-managed-thread-pool
- Pros and cons of different ways to start tasks: https://devblogs.microsoft.com/pfxteam/task-factory-startnew-vs-new-task-start/
- Task.Start Method: https://docs.microsoft.com/en-us/dotnet/api/system.threading.tasks.task.start
- Events and thread-safety: https://docs.microsoft.com/en-us/archive/blogs/cburrows/field-like-events-considered-harmful
- Stephen Cleary's thoughts on events and thread-safety: https://blog.stephencleary.com/2009/06/threadsafe-events.html
- Managed threading best practices: https://docs.microsoft.com/en-us/dotnet/standard/threading/managed-threading-best-practices
- ThreadStaticAttribute Class: https://docs.microsoft.com/en-us/dotnet/api/system.threadstaticattribute
- Async in depth: https://docs.microsoft.com/en-us/dotnet/standard/async-in-depth
- await (C# reference): https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/await
- Six Essential Tips for Async: https://channel9.msdn.com/Series/Three-Essential-Tips-for-Async
- Exploring the async/await State Machine – The Awaitable Pattern: https://vkontech.com/exploring-the-async-await-state-machine-the-awaitable-pattern/
- There Is No Thread: https://blog.stephencleary.com/2013/11/there-is-no-thread.html
- Parallel Programming in .NET: https://docs.microsoft.com/en-us/dotnet/standard/parallel-programming/
- Overview of synchronization primitives: https://docs.microsoft.com/en-us/dotnet/standard/threading/overview-of-synchronization-primitives
- .NET Application Architecture Guidance: https://www.microsoft.com/net/learn/architecture
- Piranha CMS: https://piranhacms.org/
- Orchard Core: http://www.orchardcore.net/
- Optimizely CMS Developer Guide: https://world.optimizely.com/documentation/developer-guides/CMS/
- Umbraco CMS: https://umbraco.com/products/umbraco-cms/migrating-umbraco-to-net-core/
- ASP.NET Core 1.0 announcement: https://devblogs.microsoft.com/aspnet/announcing-asp-net-core-1-0/
- ASP.NET Core 1.1 announcement: https://devblogs.microsoft.com/aspnet/announcing-asp-net-core-1-1/
- ASP.NET Core 2.0 announcement: https://devblogs.microsoft.com/aspnet/announcing-asp-net-core-2-0/
- ASP.NET Core 2.1 announcement: https://devblogs.microsoft.com/aspnet/asp-net-core-2-1-0-now-available/
- ASP.NET Core 2.2 announcement: https://devblogs.microsoft.com/aspnet/asp-net-core-2-2-available-today/
- ASP.NET Core 3.0 announcement: https://devblogs.microsoft.com/aspnet/a-first-look-at-changes-coming-in-asp-net-core-3-0/
- ASP.NET Core 3.1 announcement: https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-core-3-1/
- Blazor WebAssembly announcement: https://devblogs.microsoft.com/aspnet/blazor-webassembly-3-2-0-now-available/
- ASP.NET Core 5.0 announcement: https://devblogs.microsoft.com/aspnet/announcing-asp-net-core-in-net-5/
- WebSocket: https://en.wikipedia.org/wiki/WebSocket
- MessagePack: https://msgpack.org
- WebAssembly: https://webassembly.org
- TypeScript: https://www.typescriptlang.org
- Choices of platform for building Windows desktop apps: https://docs.microsoft.com/en-us/windows/apps/desktop/choose-your-platform
- What’s new in Windows Forms in .NET 6.0: https://devblogs.microsoft.com/dotnet/whats-new-in-windows-forms-in-net-6-0/
- Migrating WPF apps: https://devblogs.microsoft.com/dotnet/migrating-a-sample-wpf-app-to-net-core-3-part-1/
- Windows Compatibility Pack: https://devblogs.microsoft.com/dotnet/announcing-the-windows-compatibility-pack-for-net-core/
- Packt book about building WPF apps: https://www.packtpub.com/product/mastering-windows-presentation-foundation/9781785883002
- UWP apps: https://docs.microsoft.com/en-us/windows/uwp/get-started/universal-application-platform-guide
- Nine desktop development options, from WPF to Blazor: https://visualstudiomagazine.com/articles/2021/03/25/desktop-options.aspx
- avalonia - A cross platform XAML framework for .NET: https://avaloniaui.net
- Uno Platform: https://platform.uno
- Getting Started with the Uno Platform (Project Reunion/WinUI): https://nicksnettravels.builttoroam.com/getting-started-uno-platform/
- HTML5 and CSS3: Building Responsive Websites: https://subscription.packtpub.com/product/web_development/9781839211560
- Kestrel web server: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel
- Free TLS/SSL certificates: https://letsencrypt.org
- ASP.NET Core hosting environments: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/environments
- Content Delivery Network (CDN): https://en.wikipedia.org/wiki/Content_delivery_network
- Bootstrap: https://getbootstrap.com/
- Compact Folders feature: https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_41.md#compact-folders-in-explorer
- Announcing ASP.NET Core in .NET 6: https://devblogs.microsoft.com/dotnet/announcing-asp-net-core-in-net-6/
- ASP.NET Core fundamentals: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/
- Static files in ASP.NET Core: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files
- HttpContext class: https://docs.microsoft.com/en-us/dotnet/api/system.web.httpcontext
- Introducing the new Razor editor in Visual Studio 2022: https://devblogs.microsoft.com/visualstudio/introducing-the-new-razor-editor-in-visual-studio-2022/
- Introduction to Razor Pages in ASP.NET Core: https://docs.microsoft.com/en-us/aspnet/core/razor-pages/
- Razor syntax reference for ASP.NET Core: https://docs.microsoft.com/en-us/aspnet/core/mvc/views/razor
- Layout in ASP.NET Core: https://docs.microsoft.com/en-us/aspnet/core/mvc/views/layout
- Tag Helpers in ASP.NET Core: https://docs.microsoft.com/en-us/aspnet/core/mvc/views/tag-helpers/intro
- ASP.NET Core Razor Pages with EF Core: https://docs.microsoft.com/en-us/aspnet/core/data/ef-rp/intro
- Registering a database context for use as a dependency service: https://docs.microsoft.com/en-us/ef/core/miscellaneous/configuring-dbcontext#using-dbcontext-with-dependency-injection
- The
<partial>
tag helper: https://docs.microsoft.com/en-us/aspnet/core/mvc/views/tag-helpers/built-in/partial-tag-helper
- Simple examples of Run, Map, and Use: https://www.vaughanreid.com/2020/05/using-in-line-middleware-in-asp-net-core/
- Automatically visualize your endpoints: https://andrewlock.net/visualizing-asp-net-core-endpoints-using-graphvizonline-and-the-dot-language/
- Configuring the HTTP pipeline with middleware: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/middleware
- DEEP DIVE: HOW IS THE ASP.NET CORE MIDDLEWARE PIPELINE BUILT? https://www.stevejgordon.co.uk/how-is-the-asp-net-core-middleware-pipeline-built
- Built-in features for compliance with modern privacy requirements like GDPR: https://docs.microsoft.com/en-us/aspnet/core/security/gdpr
- ASP.NET Core's support for authenticator apps: https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity-enable-qrcodes
- Identity UI library: https://docs.microsoft.com/en-us/aspnet/core/security/authentication/scaffold-identity?tabs=netcore-cli
- Authorization: https://docs.microsoft.com/en-us/aspnet/core/security/authorization/introduction
- Anti-forgery tokens: https://docs.microsoft.com/en-us/aspnet/core/security/anti-request-forgery
- dotnet new templates: https://github.com/dotnet/templating/wiki/Available-templates-for-dotnet-new
- Overview of ASP.NET Core MVC: https://docs.microsoft.com/en-us/aspnet/core/mvc/overview
- Default configuration of web hosts: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/web-host
- Dependency injection for ASP.NET Core: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection
- Configuring middleware: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/middleware/
- Announcing YARP 1.0 Release: https://devblogs.microsoft.com/dotnet/announcing-yarp-1-0-release/
- Handle requests with controllers in ASP.NET Core MVC: https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/actions
- Response caching: https://docs.microsoft.com/en-us/aspnet/core/performance/caching/response
- How cache busting using query strings works: https://stackoverflow.com/questions/9692665/cache-busting-via-params
- Model Binding in ASP.NET Core: https://docs.microsoft.com/en-us/aspnet/core/mvc/models/model-binding
- Create your own model binders by implementing the IModelBinder interface: https://docs.microsoft.com/en-us/aspnet/core/mvc/advanced/custom-model-binding
- Model validation: https://docs.microsoft.com/en-us/aspnet/core/mvc/models/validation
- Tutorial: Get started with EF Core in an ASP.NET MVC web app: https://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/intro
- HtmlHelper class: https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.viewfeatures.htmlhelper
- Views in ASP.NET Core MVC: https://docs.microsoft.com/en-us/aspnet/core/mvc/views/overview
- Why it is good to put <script> elements at the bottom of the : https://stackoverflow.com/questions/436411/where-should-i-put-script-tags-in-html-markup
- How to unit test controllers: https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/testing
- Filters for cross-concern functionality: https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/filters
- Free stock photos for commercial use with no attribution: https://www.pexels.com/
- Images of eight categories: https://github.com/markjprice/cs9dotnet5/tree/master/Assets/Categories
- Media types: http://en.wikipedia.org/wiki/Media_type
- WS-* standards: https://en.wikipedia.org/wiki/List_of_web_service_specifications
- HTTP OPTIONS method and other HTTP methods: https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/OPTIONS
- HTTP POST requests: https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST
- Create web APIs with ASP.NET Core: https://docs.microsoft.com/en-us/aspnet/core/web-api/
- Design decisions around endpoint routing: https://devblogs.microsoft.com/aspnet/asp-net-core-2-2-0-preview1-endpoint-routing/
- Endpoint routing: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/routing
- Previous routing system: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/routing?view=aspnetcore-2.1
- Route constraints: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/routing#route-constraint-reference
- Dependency injection for ASP.NET Core: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection
- Proposed standard for Problem Details for HTTP APIs: https://tools.ietf.org/html/rfc7807
- Implementing problem details: https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.problemdetails
- REST Client: https://github.com/Huachao/vscode-restclient/blob/master/README.md
- It is the BaseAddress and DefaultRequestHeaders properties that you should treat with caution with multiple threads: https://medium.com/@nuno.caneco/c-httpclient-should-not-be-disposed-or-should-it-45d2a8f568bc
- You're using HttpClient wrong and it is destabilizing your software: https://aspnetmonsters.com/2016/08/2016-08-27-httpclientwrong/
- How to initiate HTTP requests: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/http-requests
- Issues with the original HttpClient class available in .NET: https://docs.microsoft.com/en-us/dotnet/architecture/microservices/implement-resilient-applications/use-httpclientfactory-to-implement-resilient-http-requests#issues-with-the-original-httpclient-class-available-in-net
- HttpClient extension methods for easily working with JSON: https://github.com/dotnet/designs/blob/main/accepted/2020/json-http-extensions/json-http-extensions.md
- Swagger: https://swagger.io/
- Swagger Tools: https://swagger.io/tools/
- Swashbuckle for ASP.NET Core: https://github.com/domaindrivendev/Swashbuckle.AspNetCore
- How Swagger can support multiple versions of an API: https://stackoverflow.com/questions/30789045/leverage-multipleapiversions-in-swagger-with-attribute-versioning/30789944
- Importance of documenting services: https://idratherbewriting.com/learnapidoc/
- Benefits of setting version compatibility: https://docs.microsoft.com/en-us/aspnet/core/mvc/compatibility-version
- Check latest version of analyzers package: http://www.nuget.org/packages/Microsoft.AspNetCore.Mvc.Api.Analyzers/
- Verifying that the tokens used to call your web APIs are requested with the expected claims: https://docs.microsoft.com/en-us/azure/active-directory/develop/scenario-protected-web-api-verification-scope-app-roles
- CORS can be enabled to allow different origin requests: https://docs.microsoft.com/en-us/aspnet/core/security/cors
- Common HTTP security headers that you might want to add: https://www.meziantou.net/security-headers-in-asp-net-core.htm
- Health checks in ASP.NET Core: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/health-checks
- How to extend the health check response: https://blogs.msdn.microsoft.com/webdev/2018/08/22/asp-net-core-2-2-0-preview1-healthcheck/
- How Polly can make your web services more reliable: https://docs.microsoft.com/en-us/dotnet/architecture/microservices/implement-resilient-applications/implement-http-call-retries-exponential-backoff-polly
- Use HttpClientFactory to implement resilient HTTP requests: https://docs.microsoft.com/en-us/dotnet/architecture/microservices/implement-resilient-applications/use-httpclientfactory-to-implement-resilient-http-requests
- Redis: https://redis.io
- Blazor: https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor
- Official list of supported Blazor platforms: https://docs.microsoft.com/en-us/aspnet/core/blazor/supported-platforms
- Blazor hosting models: https://docs.microsoft.com/en-us/aspnet/core/blazor/hosting-models
- Blazor Mobile Bindings: https://devblogs.microsoft.com/aspnet/mobile-blazor-bindings-experiment/
- Blazor Hybrid apps: https://devblogs.microsoft.com/aspnet/hybrid-blazor-apps-in-mobile-blazor-bindings-july-update/
- The reason for needing CSS isolation for Blazor components: dotnet/aspnetcore#10170
- OI icons: https://iconify.design/icon-sets/oi/
- Setting
<head>
elements: https://docs.microsoft.com/en-us/aspnet/core/blazor/fundamentals/additional-scenarios-influence-html-head-tag-elements - Forms and validation: https://docs.microsoft.com/en-us/aspnet/core/blazor/forms-validation
- NavigationManager with Blazor routes: https://docs.microsoft.com/en-us/aspnet/core/blazor/fundamentals/routing#uri-and-navigation-state-helpers
- Implementing offline support for Blazor WebAssembly projects: https://docs.microsoft.com/en-us/aspnet/core/blazor/progressive-web-app#offline-support
- Lazy loading assemblies: https://docs.microsoft.com/en-us/aspnet/core/blazor/webassembly-lazy-load-assemblies?view=aspnetcore-5.0
- Routing in Blazor Apps: Comparing the routing of popular web frameworks like React and Angular with Blazor: https://devblogs.microsoft.com/premier-developer/routing-in-blazor-apps/
- Awesome Blazor: A collection of awesome Blazor resources: https://github.com/AdrienTorris/awesome-blazor
- Blazor University: Learn the new .NET SPA framework from Microsoft: https://blazor-university.com
- Blazor - app building workshop: In this workshop, we will build a complete Blazor app and learn about the various Blazor framework features along the way: https://github.com/dotnet-presentations/blazor-workshop/
- Carl Franklin's Blazor Train: https://www.youtube.com/playlist?list=PL8h4jt35t1wjvwFnvcB2LlYL4jLRzRmoz
- Welcome to PACMAN written in C# and running on Blazor WebAssembly: https://github.com/SteveDunn/PacManBlazor
- Core WCF repository: https://github.com/CoreWCF/CoreWCF
- gRPC: https://grpc.io
- What’s new for gRPC in .NET 6: https://devblogs.microsoft.com/dotnet/grpc-in-dotnet-6/
- Introduction to gRPC on .NET: https://docs.microsoft.com/en-us/aspnet/core/grpc/
- gRPC as an alternative to WCF: https://devblogs.microsoft.com/premier-developer/grpc-asp-net-core-as-a-migration-path-for-wcfs-in-net-core/
- How to use gRPC with ASP.NET Core: https://docs.microsoft.com/en-us/aspnet/core/grpc/aspnetcore
- OData - the best way to REST: https://www.odata.org
- OData documentation: https://docs.microsoft.com/en-us/odata/
- Azure Functions documentation: https://docs.microsoft.com/en-us/azure/azure-functions/
- Introduction to .NET MAUI: https://devblogs.microsoft.com/dotnet/introducing-net-multi-platform-app-ui/
- GitHub repository for .NET MAUI: https://github.com/dotnet/maui
- If you want to use Visual Studio 2019 to create a mobile app, then you can read how to connect to a Mac build host: https://docs.microsoft.com/en-us/xamarin/ios/get-started/installation/windows/connecting-to-mac/
- Pros and cons of the two major mobile platforms based on aspects such as revenue generation and user engagement: https://fueled.com/blog/app-store-vs-google-play/
- ATS: https://docs.microsoft.com/en-us/xamarin/ios/app-fundamentals/ats
- Handling self-signed certificates: https://docs.remotingsdk.com/Clients/Tasks/HandlingSelfSignedCertificates/NET/
- Android and cleartext support: https://devblogs.microsoft.com/xamarin/cleartext-http-android-network-security/
- Self Signed iOS Certifcates and Certificate Pinning in a Xamarin.Forms application: https://nicksnettravels.builttoroam.com/ios-certificate/
- Protecting your users with certificate pinning: https://www.basdecort.com/protecting-your-users-with-certificate-pinning/
- HttpClient and SSL/TLS implementation selector for iOS/macOS: https://docs.microsoft.com/en-us/xamarin/cross-platform/macios/http-stack
- Features supported by which OS: https://docs.microsoft.com/en-us/dotnet/standard/security/cross-platform-cryptography
- Key Security Concepts: https://docs.microsoft.com/en-us/dotnet/standard/security/key-security-concepts
- Dictionary Attacks 101: https://blog.codinghorror.com/dictionary-attacks-101/
- The first publicly known SHA1 collision happened in 2017: https://arstechnica.co.uk/information-technology/2017/02/at-deaths-door-for-years-widely-used-sha1-function-is-now-dead/
- The RSA algorithm is based on the factorization of large integers: http://mathworld.wolfram.com/RSAEncryption.html
- Encrypting Data: https://docs.microsoft.com/en-us/dotnet/standard/security/encrypting-data
- Cryptographic Signatures: https://docs.microsoft.com/en-us/dotnet/standard/security/cryptographic-signatures
- Follow the Framework Design Guidelines: https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/
- Follow the code style rules: https://docs.microsoft.com/en-us/dotnet/fundamentals/code-analysis/style-rules/
- Cloud-Native learning resources for .NET developers: https://devblogs.microsoft.com/dotnet/cloud-native-learning-resources-for-net-developers/
- 37 App Ideas for Bootcamp Students & Code Newbies: https://dev.to/sylwiavargas/33-app-ideas-for-bootcamp-students-code-newbies-3n28
- Just! Build! Websites! https://github.com/melanierichards/just-build-websites
- Mobile Development with .NET: https://www.packtpub.com/product/mobile-development-with-net-second-edition/9781800204690
- Enterprise Application Development with C# 9 and .NET 5: https://www.packtpub.com/product/enterprise-application-development-with-c-9-and-net-5/9781800209442
- Software Architecture with C# 10 and .NET 6: https://www.packtpub.com/product/software-architecture-with-c-10-and-net-6-third-edition/9781803235257
- An Atypical ASP.NET Core 6 Design Patterns Guide: https://subscription.packtpub.com/product/web_development/9781803249841
- Customizing ASP.NET Core 5.0: https://www.packtpub.com/product/customizing-asp-net-core-5-0/9781801077866
- ASP.NET Core Secure Coding Cookbook: https://www.packtpub.com/product/asp-net-core-secure-coding-cookbook/9781801071567
- ASP.NET Core 5 and React: https://www.packtpub.com/product/asp-net-core-5-and-react-second-edition/9781800206168
- ASP.NET Core 6 and Angular: https://subscription.packtpub.com/product/web_development/9781803239705
- ASP.NET Core and Vue.js: https://www.packtpub.com/product/asp-net-core-and-vue-js/9781800206694
- Practical Microservices with Dapr and .NET: https://www.packtpub.com/product/practical-microservices-with-dapr-and-net/9781800568372
- Web Development with Blazor and .NET 5: https://www.packtpub.com/product/web-development-with-blazor-and-net-5/9781800208728
- Mastering Windows Presentation Foundation: https://www.packtpub.com/product/mastering-windows-presentation-foundation-second-edition/9781838643416