.NET and VB.NET Overview
1.1 What is .NET?
A free, open-source, cross-platform developer platform from Microsoft for building many kinds of applications.
Runtime (CLR): executes code, manages memory (GC), enforces type safety, and handles exceptions and threads.
Base Class Library (BCL): collections, I/O, networking, threading, text, and more.
SDK: compilers (Roslyn for VB and C#), MSBuild, and the dotnet CLI.
App models: WinForms, WPF, ASP.NET Core, Worker Services, MAUI (C#), Blazor (C#).
1.2 .NET Flavors
.NET Framework 1.0–4.8.1 Maintained (Windows only) Web Forms, WCF server, legacy apps.NET Core 1.0–3.1 Out of support .NET 5, 6, 7, 8, 9, 10
Unified platform. LTS: 6, 8, 10 (even-numbered, 3 years). STS: odd-numbered.
Mono / Xamarin Merged into.NET Mobile (now.NET MAUI, C#-only UI)
1.3 Visual Basic .NET
A strongly typed, object-oriented, English-like language. It compiles to IL and is executed by the CLR, with the same performance as C#.
Strengths: readability, case-insensitivity, rich RAD tooling (WinForms designer), XML literals, the My namespace, Handles/WithEvents, LINQ query comprehension (including Aggregate), optional parameters, and late binding for COM.
Limitations on modern .NET: no Razor/Blazor/MAUI/WinUI support, no source-generator authoring, no new C# features (records, pattern matching, nullable reference types, ref struct declarations).
1.4 How VB.NET Code Runs
.vb source → vbc (Roslyn) → Assembly (.dll/.exe) containing IL + metadata + manifest
→ CLR loads the assembly → JIT compiles IL to native code (or ReadyToRun/Native AOT precompiles) → executes1.5 What You Can Build
Console apps, class libraries WinForms (designer) ✅ Full (Windows) ✅ (Windows; XAML + VB code-behind) Worker / Windows services
ASP.NET Core Web API (controllers/minimal APIs) ✅ (manual setup, no templates) Razor Pages / MVC views / Blazor
❌ (use C# for the UI and VB libraries for logic).NET MAUI / WinUI 3 Office VSTO add-ins ✅ (.NET Framework)
⚠️ (possible with the isolated worker, community approach)