Top Related Projects
This repo is the official home of .NET on GitHub. It's a great starting point to find many .NET OSS projects from Microsoft and the community, including many that are part of the .NET Foundation.
ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
Mono open source ECMA CLI, C# and .NET implementation.
.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
Quick Overview
The dotnet/core repository is the home for .NET Core, a cross-platform, open-source development platform maintained by Microsoft and the .NET community. It serves as the central hub for .NET Core development, including runtime, framework, and SDK components.
Pros
- Cross-platform compatibility (Windows, macOS, Linux)
- Open-source with a large and active community
- High performance and scalability
- Extensive ecosystem of libraries and tools
Cons
- Learning curve for developers new to .NET
- Some legacy .NET Framework features not available
- Frequent updates may require ongoing maintenance
- Limited support for older operating systems
Code Examples
- Hello World Console Application:
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
- Simple Web API using ASP.NET Core:
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
}
- Asynchronous File Reading:
using System;
using System.IO;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
string text = await File.ReadAllTextAsync("example.txt");
Console.WriteLine(text);
}
}
Getting Started
To get started with .NET Core:
- Download and install the .NET SDK from https://dotnet.microsoft.com/download
- Open a terminal and run the following commands:
dotnet new console -n MyFirstApp
cd MyFirstApp
dotnet run
This will create a new console application, navigate to its directory, and run it. You should see "Hello, World!" output in the console.
For more advanced projects, you can use different templates:
dotnet new webapi -n MyWebAPI # Creates a new Web API project
dotnet new mvc -n MyMVCApp # Creates a new MVC web application
Refer to the official documentation at https://docs.microsoft.com/en-us/dotnet/ for more detailed guides and tutorials.
Competitor Comparisons
This repo is the official home of .NET on GitHub. It's a great starting point to find many .NET OSS projects from Microsoft and the community, including many that are part of the .NET Foundation.
Pros of dotnet
- More comprehensive documentation and resources
- Broader scope, covering the entire .NET ecosystem
- Active community engagement and contributions
Cons of dotnet
- Larger repository size, potentially slower to clone and navigate
- May include more experimental or less stable features
- Higher complexity due to its broader scope
Code Comparison
core:
// Example from dotnet/core
using System;
class Program
{
static void Main()
{
Console.WriteLine("Hello from .NET Core!");
}
}
dotnet:
// Example from microsoft/dotnet
using System;
namespace DotNetExample
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello from .NET!");
}
}
}
Summary
Both repositories are essential for .NET development, but serve different purposes. core focuses on the core runtime and framework, while dotnet encompasses a broader range of .NET-related projects and resources. Developers may find core more suitable for specific runtime-related issues, while dotnet offers a more comprehensive view of the .NET ecosystem.
ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
Pros of aspnetcore
- More focused on web development, providing specialized tools and frameworks
- Includes built-in middleware and components for web applications
- Offers a more comprehensive set of libraries for building web APIs and services
Cons of aspnetcore
- Larger repository size due to more specialized components
- Steeper learning curve for developers new to web development
- May include unnecessary features for non-web projects
Code Comparison
aspnetcore:
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
core:
var host = new HostBuilder()
.ConfigureServices((hostContext, services) =>
{
services.AddHostedService<Worker>();
})
.Build();
The aspnetcore example shows routing configuration specific to web applications, while the core example demonstrates a more general-purpose host setup.
Both repositories are part of the .NET ecosystem, with core serving as the foundation for cross-platform .NET development and aspnetcore building upon it to provide web-specific functionality. Developers should choose based on their project requirements, with aspnetcore being the better choice for web applications and core for more general-purpose or non-web projects.
Mono open source ECMA CLI, C# and .NET implementation.
Pros of mono
- Longer history and more mature codebase
- Broader platform support, including older systems
- More flexible licensing (MIT/X11)
Cons of mono
- Generally slower performance than .NET Core
- Less active development and community support
- Limited compatibility with newer .NET features
Code Comparison
mono:
public class Example
{
public static void Main()
{
Console.WriteLine("Hello from Mono!");
}
}
core:
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello from .NET Core!");
}
}
The code structure is similar, but core uses more modern C# conventions with the static void Main(string[] args)
signature. Both examples achieve the same result of printing a message to the console.
mono has been a crucial project for cross-platform .NET development, especially before the advent of .NET Core. It still maintains relevance for certain use cases and older systems. However, core has become the primary focus for modern .NET development, offering better performance and more frequent updates. The choice between the two depends on specific project requirements, target platforms, and desired features.
.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
Pros of runtime
- More focused and specific to runtime components
- Actively maintained and receives regular updates
- Better organized for contributors focusing on core runtime elements
Cons of runtime
- Steeper learning curve for newcomers due to its complexity
- May require more setup time for certain development scenarios
- Less comprehensive documentation compared to core
Code Comparison
runtime:
public static int Main(string[] args)
{
Console.WriteLine("Hello from runtime!");
return 0;
}
core:
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello from core!");
}
}
Summary
Runtime is more focused on the .NET runtime components, offering a deeper dive into the core functionality. It's actively maintained and well-organized for contributors interested in low-level improvements. However, it may present a steeper learning curve and require more setup time for certain scenarios.
Core, on the other hand, provides a more comprehensive overview of the .NET ecosystem, making it easier for newcomers to get started. It offers broader documentation but may not be as up-to-date or specific as runtime for certain runtime-related tasks.
The code comparison shows subtle differences in structure, with runtime using a more concise approach and returning an integer, while core uses a class-based structure typical of many .NET applications.
ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
Pros of aspnetcore
- More focused on web development, providing specialized tools and frameworks
- Includes built-in middleware and components for web applications
- Offers a more comprehensive set of libraries for building web APIs and services
Cons of aspnetcore
- Larger repository size due to more specialized components
- Steeper learning curve for developers new to web development
- May include unnecessary features for non-web projects
Code Comparison
aspnetcore:
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
core:
var host = new HostBuilder()
.ConfigureServices((hostContext, services) =>
{
services.AddHostedService<Worker>();
})
.Build();
The aspnetcore example shows routing configuration specific to web applications, while the core example demonstrates a more general-purpose host setup.
Both repositories are part of the .NET ecosystem, with core serving as the foundation for cross-platform .NET development and aspnetcore building upon it to provide web-specific functionality. Developers should choose based on their project requirements, with aspnetcore being the better choice for web applications and core for more general-purpose or non-web projects.
.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
Pros of MAUI
- Enables cross-platform development for mobile and desktop apps
- Provides a unified UI framework for .NET developers
- Offers native performance and access to platform-specific features
Cons of MAUI
- Smaller community and ecosystem compared to Core
- Limited to specific platforms (iOS, Android, macOS, Windows)
- Steeper learning curve for developers new to mobile development
Code Comparison
MAUI (XAML):
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MyApp.MainPage">
<StackLayout>
<Label Text="Welcome to .NET MAUI!" />
</StackLayout>
</ContentPage>
Core (ASP.NET Core):
public class Startup
{
public void Configure(IApplicationBuilder app)
{
app.UseRouting();
app.UseEndpoints(endpoints => { endpoints.MapGet("/", () => "Hello World!"); });
}
}
MAUI focuses on cross-platform UI development, while Core provides a broader framework for web and server-side applications. MAUI is ideal for building native mobile and desktop apps, whereas Core excels in web development, microservices, and backend systems. The choice between them depends on the specific project requirements and target platforms.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
.NET Release Notes
Welcome to the home of .NET release notes and news.
Releases
Releases under active support or development:
Version | Release Date | Support | Latest Patch Version | End of Support |
---|---|---|---|---|
.NET 9 | November 12, 2024 | STS | 9.0.0-rc.1 | May 12, 2026 |
.NET 8 | November 14, 2023 | LTS | 8.0.8 | November 10, 2026 |
.NET 6 | November 8, 2021 | LTS | 6.0.33 | November 12, 2024 |
Discussions
Follow GitHub Discussions, where you will find the latest news on releases, including PSAs and CVEs.
You can subscribe to discussions with the following RSS feeds:
Category | GitHub Discussions | RSS Feed |
---|---|---|
All Discussions | ð | ð |
News | ð | ð |
General | ð | ð |
Top Related Projects
This repo is the official home of .NET on GitHub. It's a great starting point to find many .NET OSS projects from Microsoft and the community, including many that are part of the .NET Foundation.
ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
Mono open source ECMA CLI, C# and .NET implementation.
.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot