Your first time on this page? Allow me to give some explanations.
Curated list of awesome Roslyn books, tutorials, open-source projects, analyzers, code fixes, refactorings, and source generators
Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.
Thank you ironcev & contributors
View Topic on GitHub:
Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.
Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.
Free e-book* by Alessandro Del Sole and the perfect book to start with. Explains Roslyn APIs and afterward focuses on writing analyzers and refactorings.
Book by Jason Bock. Besides analyzers and refactorings, it also explains the scripting API and provides an interesting reflection on the future of the Compiler API.
Book by Manish Vasani, a member of the Roslyn analyzers team. After covering analyzers, refactorings, and scripting in detail, the book goes in-depth explaining how to develop new C# language features and contribute to the Roslyn source code.
The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.
A list of C# Source Generators (not necessarily awesome)
Series of blog posts that explore the Roslyn compiler API. It introduces the power of Roslyn through small self-contained examples. A perfect tutorial to start with :-)
Older but still not outdated, very detailed MSDN article on writing code analyzers.
The sequel to the previous MSDN article. A detailed introduction into code fixes.
Open Source Projects
Convert code from C# to VB.NET and vice versa using Roslyn
Pattern matching for Roslyn syntax trees
Assists in performing Roslyn-based code generation during a build.
Run C# scripts from the .NET CLI.
A cross platform build and deployment automation system for building projects and executing deployment scripts using C# code.
MirrorSharp is a code editor <textarea> built on Roslyn and CodeMirror
Compiles C# code by first rewriting the syntax trees of LINQ expressions using plain procedural code, minimizing allocations and dynamic dispatch.
Roslyn tool that for a given C# program shows syntax tree API calls to construct its syntax tree
Tools to let you use Roslyn-powered C# scripts for code generation
Testura.Code is a wrapper around the Roslyn API and used for generation, saving and compiling C# code. It provides methods and helpers to generate classes, methods, statements and expressions.
A Roslyn based C# source generation framework
Family of Open Source projects, each with one goal: To enable a great .NET experience in YOUR editor of choice.
Cross-platform C# editor. Features code completion, method signature help, quick fixes, and diagnostics.
Turns C# into a powerful scripting tool. Features C# REPL, installation of NuGet packages, and execution of scripts with a single line of code.
Visual Studio extension that intelligently introduces new C# language features into your existing code base.
Open Source Analyzers, Code Fixes, and Refactorings
An analyzer library for C# and VB that uses Roslyn to produce refactorings, code analysis, and other niceties.
Reports diagnostics for C# coding guidelines that are not already covered by Resharper.
Set of roslyn-based analyzers for catching common C# errors (inspired by Google's error-prone)
"AutoMapper" like, Roslyn based, code fix provider that allows to generate mapping code in design time.
A Roslyn analyzer to improve the experience when working with nullable reference types.
Refactoring Essentials for Visual Studio
Roslyn based C# heap allocation diagnostic analyzer that can detect explicit and many implicit allocations like boxing, display classes a.k.a closures, implicit delegate creations, etc.
A collection of 500+ analyzers, refactorings and fixes for C#, powered by Roslyn.
Code analyzer for C# and VB.NET projects https://redirect.sonarsource.com/plugins/vbnet.html
An implementation of StyleCop rules using the .NET Compiler Platform
A collection of static analyzers based on Roslyn that integrate with VS
Libraries and Frameworks for Testing Analyzers, Code Fixes, and Refactorings
Roslyn-SDK templates and Syntax Vizualizer
A lightweight framework for writing unit tests for Roslyn diagnostic analyzers, code fixes, refactorings and completion providers.
Dpdt Injector repository.
A source code generator for automatically implementing IEquatable<T> using only attributes.
Json library that uses .NET 5 Source Generators
compile time dependency injection for .Net
Low-level, lightweight and performance-focused serializer for C# struct types that uses Source Generators technology.
Svg to C# Source Generators
A .NET source generator for creating simple value objects wrapping primitive types.
Blog Posts and Articles
In-depth look at Roslyn's performance with the focus on memory consumption.
Inspiring introduction on how Roslyn team implemented immutable, reusable trees with cheap parent references and many other goodies. Quote: "But on the Roslyn team we routinely do impossible things" :-)
Excellent explanation why ReSharper will not use Roslyn. Includes good discussion on static code analysis and some limits of Roslyn.