Curated list of awesome Roslyn books, tutorials, open source projects, analyzers, code fixes, and refactorings
Switch branches/tags
Nothing to show
Clone or download

readme.md

Awesome Roslyn

Awesome Roslyn Awesome

Curated list of Roslyn books, tutorials, open source projects, analyzers, code fixes, and refactorings.

Roslyn, officially named .NET Compiler Platform, is a set of open-source compilers and code analysis APIs for C# and Visual Basic .NET languages.

Contents

Books

Awesome books to give you a good start with Roslyn.

Tutorials

Awesome online tutorials to help you write your first analyzers and code fixes.

Open Source Projects

Awesome open source projects built on top of Roslyn.

  • Bridge - C# to JavaScript transpiler. Write modern mobile and web apps in C# and run them anywhere in JavaScript.
  • Code Converter - C# to VB.NET and VB.NET to C# transpiler.
  • CodeAnalysis.CSharp.PatternMatching - Intuitive pattern matching for Roslyn syntax trees. Simplifies C# syntax and semantic analysis.
  • CodeGeneration.Roslyn - Roslyn-based Code Generation during a build with design-time support.
  • dotnet-script - Runs C# scripts from the .NET CLI, defines NuGet packages inline and edit/debugs them in VS Code.
  • FlubuCore - Cross platform build automation tool for building projects and executing deployment scripts using C# code.
  • MirrorSharp - Online C#, VB.NET, and F# code editor. Features code completion, method signature help, quick fixes, and diagnostics.
  • OmniSharp - Enables a cross platform .NET development in the editor of your choice. A family of open source projects, each with one goal: To enable a great .NET experience in your editor of choice.
  • roslyn-linq-rewrite - Compiles C# code by first rewriting the syntax trees of LINQ expressions using plain procedural code. This increases performance by minimizes heap allocations and dynamic dispatch.
  • RoslynPad - Cross-platform C# editor. Features code completion, method signature help, quick fixes, and diagnostics.
  • RoslynQuoter - Online tool that for a given C# program generates syntax tree API calls that construct syntax tree of that program.
  • scriptcs - Turns C# into a powerful scripting tool. Features C# REPL, installation of NuGet packages, and execution of scripts with a single line of code.
  • Scripty - Tool to use Roslyn-powered C# scripts for code generation. You can think of it as a scripted alternative to T4 templates.
  • Sharpen - Visual Studio extension that intelligently introduces new C# language features into your existing code base.
  • SharpLab - .NET code playground. Displays intermediate steps and results of code compilation. Shows the code as compiler sees it. Allows selecting different branches and versions of Roslyn. Runs C#, VB.NET, and F# code in the browser.
  • Testura.Code - Wrapper around the Roslyn API used for generation, saving, and compiling C# code. Provides methods and helpers to generate classes, methods, statements, and expressions.
  • Uno SourceGenerator - C# source code generator based on a project being built, using all of its syntactic and semantic model information.

Open Source Analyzers, Code Fixes, and Refactorings

Awesome open source analyzers, code fixes, and refactorings.

  • .NET Compiler Platform ("Roslyn") Analyzers - Diagnostic analyzers developed by the Roslyn team. Initially developed to help flesh out the design and implementation of the static analysis APIs. The analyzers cover code quality, .NET Core, desktop .NET Framework, comments in code, and more.
  • Code Cracker - Analyzer library for C# and VB.NET. Offers diagnostics in many categories like performance, coding styles, as well as some basic refactorings.
  • CSharpGuidelinesAnalyzer - Reports diagnostics for C# coding guidelines (https://csharpcodingguidelines.com/).
  • Refactoring Essentials for Visual Studio - Refactorings, analyzers and code fixes for C# and VB.NET.
  • Roslyn Clr Heap Allocation Analyzer - C# heap allocation analyzer that can detect explicit and many implicit allocations like boxing, closures, implicit delegate creations, etc.
  • Roslynator - Collection of 190+ analyzers and 190+ refactorings for C#. Covers coding style, code readability and simplification, removing redundancies, fixing compiler errors, and many more.
  • SonarC# - Static code analyzer for C# language used as an extension for the SonarQube platform.
  • StyleCop Analyzers for the .NET Compiler Platform - Port of StyleCop rules to Roslyn.
  • VSDiagnostics - Collection of code-quality analyzers. Covers usages of async methods, flags enums, best practices in exception handling as well as many other code-quality checks.

Blog Posts and Articles

Awesome blog posts and online articles covering various topics like performance, Roslyn internals and similar.

Talks

Awesome public talks about Roslyn.

  • The Power of Roslyn - Great talk by Kasey Uhlenhuth at NDC Oslo 2018 covering Roslyn essentials and APIs and tools for building code analyzers and fixes.

Contribute

Contributions are welcome :-) The goal is to build a categorized community-driven collection of awesome Roslyn resources. Before contributing, please make sure to read the contribution guidelines.

License

CC0

To the extent possible under law, Igor Rončević has waived all copyright and related or neighboring rights to this work.