Convert Figma logo to code with AI

microsoft logodotnet

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.

14,331
2,211
14,331
257

Top Related Projects

14,915

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.

11,073

Mono open source ECMA CLI, C# and .NET implementation.

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.

20,851

.NET news, announcements, release notes, and more!

18,892

The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.

21,980

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.

Quick Overview

The microsoft/dotnet repository on GitHub is the official home for .NET on GitHub. It serves as a central hub for .NET-related projects, documentation, and community engagement. This repository provides information about .NET, its roadmap, and links to various .NET-related repositories and resources.

Pros

  • Centralized location for .NET-related information and resources
  • Regularly updated with the latest .NET news and developments
  • Provides easy access to official .NET documentation and community guidelines
  • Offers a clear overview of the .NET ecosystem and its components

Cons

  • Not a code repository itself, which may confuse some users expecting to find source code
  • Can be overwhelming for newcomers due to the vast amount of information and links
  • May require frequent visits to stay up-to-date with the rapidly evolving .NET ecosystem
  • Some linked repositories or projects may be in different stages of development or maintenance

Getting Started

To get started with .NET using the information from this repository:

  1. Visit the microsoft/dotnet repository on GitHub.
  2. Read the README.md file for an overview of .NET and available resources.
  3. Explore the "Getting Started" section in the README for links to installation guides and tutorials.
  4. Check out the "Projects" section to find specific .NET-related repositories that interest you.
  5. Join the .NET community by following the guidelines in the "Community" section.

Note: This repository does not contain code directly, but rather serves as a gateway to various .NET-related projects and resources.

Competitor Comparisons

14,915

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.

Pros of runtime

  • More focused and specific to the .NET runtime implementation
  • Generally more active development and frequent updates
  • Deeper level of technical discussions and contributions

Cons of runtime

  • Steeper learning curve for newcomers to .NET development
  • Less comprehensive documentation for general .NET usage
  • Narrower scope, focusing primarily on runtime components

Code Comparison

runtime:

public static int Main(string[] args)
{
    Console.WriteLine("Hello World!");
    return 0;
}

dotnet:

using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Hello World!");
    }
}

The runtime example shows a more low-level implementation, while the dotnet example demonstrates a higher-level, more user-friendly approach typical for general .NET development.

Summary

runtime is ideal for developers working on the core .NET implementation, offering in-depth access to runtime components. dotnet, on the other hand, provides a broader overview of .NET development, making it more suitable for general-purpose .NET programming and learning. Choose runtime for deep runtime work, and dotnet for general .NET development and resources.

11,073

Mono open source ECMA CLI, C# and .NET implementation.

Pros of mono

  • Longer history and more established codebase
  • Broader platform support, including older systems
  • More flexible licensing (MIT License)

Cons of mono

  • Generally slower performance compared to .NET
  • Less frequent updates and smaller development community
  • Limited support for newer .NET features

Code Comparison

mono:

public class Example
{
    public static void Main()
    {
        Console.WriteLine("Hello from Mono!");
    }
}

dotnet:

using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Hello from .NET!");
    }
}

The code examples are very similar, reflecting the shared C# language. However, dotnet typically uses more modern conventions and may offer additional features or optimizations not available in mono.

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
  • Faster release cycle for new features and improvements
  • Deeper integration with modern web technologies and patterns

Cons of aspnetcore

  • Narrower scope, less suitable for general-purpose .NET development
  • Potentially steeper learning curve for developers new to ASP.NET
  • May require additional dependencies for non-web-related tasks

Code Comparison

aspnetcore:

app.MapGet("/", () => "Hello World!");
app.MapPost("/api/data", (MyData data) => ProcessData(data));
app.Run();

dotnet:

Console.WriteLine("Hello World!");
var data = JsonSerializer.Deserialize<MyData>(jsonString);
ProcessData(data);

The aspnetcore example shows a typical web API setup, while the dotnet example demonstrates general-purpose .NET code. aspnetcore is more concise for web-specific tasks, but dotnet offers broader flexibility for various application types.

20,851

.NET news, announcements, release notes, and more!

Pros of core

  • More focused on the .NET Core runtime and framework
  • Generally more up-to-date with the latest .NET Core developments
  • Cleaner repository structure, making it easier to navigate and contribute

Cons of core

  • Less comprehensive documentation compared to dotnet
  • Fewer resources for beginners and those transitioning from .NET Framework
  • More specialized, potentially less suitable for general .NET development

Code Comparison

core:

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("Hello, .NET Core!");
    }
}

dotnet:

using System;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, .NET!");
        }
    }
}

The code examples are similar, with core using a more concise structure typical of .NET Core applications, while dotnet follows a more traditional .NET Framework approach with explicit namespace declaration.

18,892

The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.

Pros of Roslyn

  • Focused specifically on the .NET compiler platform, providing deeper insights into language services
  • More granular control over code analysis and compilation processes
  • Extensive API for developing custom code analysis tools and language extensions

Cons of Roslyn

  • Steeper learning curve due to its specialized nature
  • Narrower scope compared to the broader .NET ecosystem coverage of dotnet
  • May require more frequent updates to keep pace with language feature changes

Code Comparison

Roslyn (C# compiler API usage):

var tree = CSharpSyntaxTree.ParseText("class Program { static void Main() { } }");
var root = tree.GetRoot();
var classDeclaration = root.DescendantNodes().OfType<ClassDeclarationSyntax>().First();
Console.WriteLine(classDeclaration.Identifier.Text);

dotnet (general .NET usage):

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("Hello, World!");
    }
}

The Roslyn example demonstrates working with the compiler API to analyze code structure, while the dotnet example shows a typical .NET application entry point.

21,980

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.

Pros of MAUI

  • Focused on cross-platform UI development for mobile and desktop
  • Provides a unified framework for building native UIs across multiple platforms
  • Offers a rich set of pre-built UI controls and layouts

Cons of MAUI

  • More specialized and narrower in scope compared to the broader .NET ecosystem
  • May have a steeper learning curve for developers new to cross-platform development
  • Limited to UI-centric applications, not suitable for all types of .NET projects

Code Comparison

MAUI (UI-focused):

public class MainPage : ContentPage
{
    public MainPage()
    {
        Content = new StackLayout
        {
            Children = { new Label { Text = "Hello, MAUI!" } }
        };
    }
}

.NET (General-purpose):

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("Hello, .NET!");
    }
}

The MAUI example demonstrates UI creation, while the .NET example shows a basic console application, highlighting the different focus areas of each repository.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

.NET Home

This repository is a starting point to learn about and engage in .NET and .NET open source projects.

This repository is not an official .NET or .NET Framework support location, however, we will respond to issues filed here as best we can. Please file .NET product issues at main project repos below.

In this repository

Please contribute to this repository via pull requests

Finding .NET Open Source Projects

Here are some excellent community-maintained lists of projects & libraries:

There are many projects that you can use and contribute to, some of which are listed below. Please do contribute to these projects!

.NET

.NET Docs

.NET Framework

Xamarin

Community

Here is a short list of projects to check out:

There are additional templates available for dotnet new. For more information, see Available templates for dotnet new

.NET Foundation

Many .NET open source projects are part of the .NET Foundation. Microsoft has contributed many projects, including ASP.NET Core and .NET Core. You may want to consider joining the .NET Foundation.

Check out the .NET Foundation Forums to see what others are talking about, or start a new discussion to ask a question or make a point.

License

This repository is licensed with the MIT license.