# dotnet/roslyn

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/dotnet-roslyn).**

20,241 stars · 4,230 forks · C# · mit

## Links

- GitHub: https://github.com/dotnet/roslyn
- Homepage: https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/
- awesome-repositories: https://awesome-repositories.com/repository/dotnet-roslyn.md

## Topics

`csharp` `hacktoberfest` `roslyn` `visual-basic` `visual-studio`

## Description

The .NET Compiler Platform is a collection of open-source APIs for C# and Visual Basic that provides deep code analysis, refactoring, and automated source code generation. It serves as the core infrastructure for building development tools, offering a platform to inspect, modify, and understand source code through immutable syntax trees and semantic models.

The platform distinguishes itself by providing full-fidelity syntax trees that preserve every character of source code, including whitespace and comments, alongside an incremental compilation pipeline that enables near-instant feedback during development. It allows developers to build custom diagnostic analyzers and code fixes that integrate directly into the compilation process, as well as source generators that automatically produce and inject code at build time.

Beyond core compilation, the project includes comprehensive workspace management tools that model entire solutions, projects, and assembly references into a unified hierarchy. This infrastructure supports the development of IDE extensions, static analysis tools, and interactive scripting environments by providing deep semantic querying, symbol identification, and real-time code change tracking.

## Tags

### Programming Languages & Runtimes

- [Source Code Compilers](https://awesome-repositories.com/f/programming-languages-runtimes/source-code-compilers.md) — Serves as the core compiler platform and infrastructure for C# and Visual Basic development.
- [Compiler Infrastructure](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-infrastructure.md) — Provides core infrastructure for developing custom language services and diagnostic tools that leverage deep semantic understanding.
- [Compiler APIs](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-infrastructure/compiler-apis.md) — Models the entire state of a program including source files, assembly references, and compiler options for deep analysis. ([source](https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/work-with-semantics))
- [Interactive Scripting Environments](https://awesome-repositories.com/f/programming-languages-runtimes/interactive-scripting-environments.md) — Executes code snippets in a persistent runtime environment to test logic and explore APIs without full compilation.
- [Language Syntax](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/language-features/language-syntax.md) — Categorizes nodes and tokens using language-specific rules to distinguish structural fragments within source code. ([source](https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/work-with-syntax))

### Software Engineering & Architecture

- [Syntax Tree Construction](https://awesome-repositories.com/f/software-engineering-architecture/trees/syntax-tree-construction.md) — Parses source code into full-fidelity, immutable syntax trees that preserve every character including whitespace and comments.
- [Compile-Time Code Generation](https://awesome-repositories.com/f/software-engineering-architecture/compile-time-code-generation.md) — Inspects compilation data at compile time to automatically produce and inject additional source code into the build process. ([source](https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/))
- [Coding Standards Enforcement](https://awesome-repositories.com/f/software-engineering-architecture/coding-standards-enforcement.md) — Provides immediate feedback and automated corrections for team-specific style and quality requirements during development. ([source](https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/))
- [Immutable Transformations](https://awesome-repositories.com/f/software-engineering-architecture/trees/immutable-transformations.md) — Enables efficient, thread-safe code modifications by reusing unchanged nodes in immutable syntax trees.
- [Real-time Change Tracking](https://awesome-repositories.com/f/software-engineering-architecture/human-in-the-loop-workflows/real-time-change-tracking.md) — Monitors host environments for source file modifications to maintain an up-to-date internal representation of the codebase. ([source](https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/work-with-workspace))
- [Syntax Inspection](https://awesome-repositories.com/f/software-engineering-architecture/syntax-tree-analysis/syntax-inspection.md) — Visualizes hierarchical code structures to allow bidirectional navigation between the code editor and the syntax tree. ([source](https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/syntax-visualizer))
- [Syntax Traversal](https://awesome-repositories.com/f/software-engineering-architecture/trees/syntax-tree-construction/syntax-traversal.md) — Provides tools to traverse syntax trees to inspect specific language constructs and their positions. ([source](https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/work-with-syntax))

### Data & Databases

- [Symbol Binding Engines](https://awesome-repositories.com/f/data-databases/semantic-mapping-tools/symbol-binding-engines.md) — Maps syntax nodes to underlying symbols and types by resolving references across the entire project and its dependencies.
- [Semantic Querying](https://awesome-repositories.com/f/data-databases/semantic-search-engines/semantic-querying.md) — Extracts symbol references, expression types, and data flow details to provide deep insights into code behavior. ([source](https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/work-with-semantics))

### Development Tools & Productivity

- [Code Analysis and Transformation](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/code-analysis-and-transformation.md) — Provides tools to inspect source code structure and logic by accessing detailed object models for deep analysis. ([source](https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/compiler-api-model))
- [Static Code Analyzers](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/static-code-analyzers.md) — Offers a toolkit for building custom diagnostic analyzers and automated code fixes to enforce quality standards.
- [Code Transformation Tools](https://awesome-repositories.com/f/development-tools-productivity/code-transformation-tools.md) — Enables programmatic modification of source code by generating new, modified versions of immutable syntax trees. ([source](https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/work-with-workspace))
- [Source Generators](https://awesome-repositories.com/f/development-tools-productivity/compilers-toolchains/source-compilation-tools/source-generators.md) — Automatically produces and injects additional source code during the compilation process by inspecting existing syntax and metadata.
- [Incremental Compilation Watchers](https://awesome-repositories.com/f/development-tools-productivity/developer-utilities-libraries/workflow-productivity-enhancers/developer-productivity-utilities/developer-experience/incremental-compilation-watchers.md) — Minimizes redundant work during development by reusing previous analysis results for near-instant feedback.
- [Language Intelligence Services](https://awesome-repositories.com/f/development-tools-productivity/platforms-runtimes-language-services/language-server-protocols/language-intelligence-services.md) — Provides advanced language intelligence services including semantic querying, symbol navigation, and real-time diagnostics.
- [Solution Models](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/code-analysis-and-transformation/solution-models.md) — Structures source code into a hierarchy of projects and documents to enable automated analysis and transformation. ([source](https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/work-with-workspace))
- [Static Code Analysis](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-code-analysis.md) — Provides infrastructure for building custom tools that inspect and analyze source code without execution.
- [IDE Extensions](https://awesome-repositories.com/f/development-tools-productivity/ide-extensions.md) — Supports the development of IDE plugins that provide real-time feedback, semantic navigation, and intelligent refactoring.
- [Concrete Syntax Tree Generators](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-config-code-generation/code-generation/abstract-syntax-tree-generators/concrete-syntax-tree-generators.md) — Parses source code into immutable, full-fidelity syntax trees that preserve every grammatical element including whitespace and comments. ([source](https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/work-with-syntax))
- [Workspace Management](https://awesome-repositories.com/f/development-tools-productivity/workspace-management.md) — Organizes projects and dependencies into a unified model to facilitate large-scale code analysis and refactoring. ([source](https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/compiler-api-model))
- [Project Workspaces](https://awesome-repositories.com/f/development-tools-productivity/workspace-management/project-workspaces.md) — Organizes disparate files and assembly references into a unified, queryable hierarchy for large-scale software systems.
- [Library Diagnostic Bundles](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-configuration-systems/library-bundling-configurations/library-diagnostic-bundles.md) — Bundles diagnostic analyzers and automated fixes with software libraries to detect and correct common usage errors. ([source](https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/))
- [Symbol Resolution](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/code-analysis-and-transformation/symbol-resolution.md) — Maps namespaces, types, and members to a unified representation that abstracts raw source code from imported metadata. ([source](https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/work-with-semantics))
- [Binding Analysis](https://awesome-repositories.com/f/development-tools-productivity/code-quality-analysis/static-analysis-engines/static-analysis-tools/code-analysis-and-transformation/binding-analysis.md) — Reveals underlying binding and conversion details by inspecting symbols and types associated with specific code nodes. ([source](https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/syntax-visualizer))

### System Administration & Monitoring

- [Compiler Analyzers](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/diagnostic-error-reporting/compiler-analyzers.md) — Provides a framework for building custom diagnostic analyzers that integrate directly into the compilation process.
- [Custom Analysis Rules](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/diagnostic-error-reporting/custom-analysis-rules.md) — Integrates user-defined analysis rules into the compilation process to report custom errors and warnings. ([source](https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/compiler-api-model))

### DevOps & Infrastructure

- [Source Code Bundlers](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/bundling-extension-architectures/build-tooling-architectures/source-code-bundlers.md) — Creates build-time processes that inspect existing code and metadata to automatically produce and inject new source files.
- [Code Execution Runtimes](https://awesome-repositories.com/f/devops-infrastructure/execution-environments/code-execution-runtimes.md) — Supports interactive code execution within persistent runtime contexts for rapid scripting and testing. ([source](https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/compiler-api-model))
