Dot Net Framework Different Versions and Differences


Dot Net Frameworks

The latest version of .NET, currently .NET 8, offers several core components to support modern software development, such as the Common Language Runtime (CLR), Common Type System (CTS), and an efficient garbage collection system. Here’s a breakdown of each:

Version

.NET Standard

1

1.1

1.2

1.3

1.4

1.5

1.6

2

2.1

.NET

5

6

7

8

9

 

 

 

 

.NET Core

1

1

1

1

1

1

1

2

3

.NET Framework 1

4.5

4.5

4.5.1

4.6

4.6.1

4.6.1 2

4.6.1 2

4.6.1 2

N/A3

Differences

Aspect

.NET Standard

.NET (5 and later)

.NET Core

.NET Framework

Purpose

Defines a specification for APIs across .NET platforms.

Unified platform replacing .NET Framework and Core.

Cross platform, open-source .NET runtime.

Windows-only runtime for building applications.

Compatibility

Aims for cross-platform API compatibility.

Fully supports cross-platform development.

Supports Windows, Linux, macOS.

Limited to Windows.

Current Status

Used for library development; no new versions.

Actively developed (e.g., .NET 7, .NET 8).

Superseded by .NET (5 and later).

No active development; maintenance only.

API Support

A subset of APIs shared across .NET implementations.

Comprehensive; includes desktop, web, cloud.

Modern APIs with performance improvements.

Broad APIs but Windows-centric.

Target Audience

Library developers targeting multiple platforms.

Developers needing a single platform for all.

Developers prioritizing performance and portability.

Developers maintaining legacy Windows apps.

Cross-Platform Support

Yes, through implementations (e.g., .NET Core).

Yes (Windows, Linux, macOS).

Yes (Windows, Linux, macOS).

No

Deployment

Libraries only, used by implementations.

Flexible (self-contained or framework-dependent).

Flexible (self-contained or framework-dependent).

Framework-dependent.

Backward Compatibility

High compatibility between versions.

High compatibility across .NET 5 and later.

Moderate; some breaking changes vs. .NET Framework.

Generally backward-compatible.

Performance

Not applicable (API specification only).

High performance and optimized runtime.

High performance and optimized runtime.

Less optimized for modern workloads.

Differences in Structure and Configurations

Feature

.NET Core

.NET 8

.NET 9

wwwroot

Used for static files in ASP.NET Core.

Same as .NET Core, no significant changes.

Similar to .NET 8 with optimizations.

Startup.cs

Contains app configuration and middleware setup.

Replaced by Program.cs in modern templates.

Program.cs is further streamlined.

appsettings.json

Stores configuration data for apps.

Continued use with enhanced support for environment-specific settings.

Enhanced for better cloud integration.

Program.cs

Entry point of the application.

Unified with Startup.cs for simpler configuration.

Simplified even further with new templates.

Lifecycle and Request Pipeline

Aspect

.NET Core

.NET 8

.NET 9

Application Lifecycle

Explicitly defined in Startup.cs.

Merged into Program.cs for better clarity.

Additional hooks for AI-driven insights.

Request Pipeline

Built with middleware components.

Improved middleware handling with better diagnostics.

Enhanced for high-performance workloads.

Dependency Injection

Aspect

.NET Core

.NET 8

.NET 9

Dependency Injection

Built-in support with IServiceCollection.

Enhanced with better scoped services and support for generics.

Improved performance and flexibility.

Service Registration

Register services in Startup.cs.

Register services directly in Program.cs.

Same as .NET 8 with optimizations.


Comments

Popular posts from this blog

Performance Optimization in Sitecore

Strategies for Migrating to Sitecore from legacy or upgrading from older Sitecore

Azure Event Grid Sample code