Roslyn (compiler)
This article needs additional citations for verification. (June 2016) |
Original author(s) | Microsoft |
---|---|
Developer(s) | .NET Foundation and the open source community |
Stable release | .NET 7.0.0
/ November 8, 2022[1] |
Platform | IA-32, x86-64 |
Type | Compiler |
License | MIT License |
Website | learn |
.NET Compiler Platform, also known by its codename Roslyn,
The project notably includes self-hosting versions of the C# and VB.NET compilers – compilers written in the languages themselves. The compilers are available via the traditional command-line programs but also as APIs available natively from within .NET code. Roslyn exposes modules for syntactic (lexical) analysis of code, semantic analysis, dynamic compilation to CIL, and code emission.[4]
Features
Features of Roslyn include:
- Compilers for the C# and Visual Basic languages exposed as services via APIs.
- APIs for refactoring.[citation needed]
History
The code name "Roslyn" was first written by Eric Lippert (a former Microsoft engineer[5]) in a post[6] that he published in 2010 to hire developers for a new project. He first said that the origin of the name was because of Roslyn, Washington, but later in the post he speaks ironically about the "northern exposure" of its office; the city of Roslyn was one of the places where the television series Northern Exposure was filmed.[7]
Microsoft made a
The CTP was updated in September 2012[9] to include many updates to the Roslyn APIs introduced in the June 2012 and October 2011 CTPs, including breaking changes.[10] While the June 2012 CTP API is complete for the compilers, not all features were implemented for the C# and VB.NET languages.[11]
At the
The compilers were not feature-complete in this release. Each of the compilers contains features that are planned for the coming language versions (C# 6 and Visual Basic.NET 14). The APIs are also available through the NuGet package manager.[citation needed]
As of 2013[update], Roslyn supports VB and C#, and the compilers are written in their respective languages.
In January 2015, Microsoft moved the Roslyn source code from CodePlex to GitHub.[16]
Architecture
Traditionally .NET compilers have been a black box for application developers.
See also
References
- ^ "Release .NET 7.0.0". GitHub. December 14, 2021. Retrieved May 5, 2022.
- ^ "C# and Visual Basic - Use Roslyn to Write a Live Code Analyzer for Your API". msdn.microsoft.com. Retrieved January 7, 2019.
- ^ a b .NET Compiler Platform ("Roslyn") on GitHub
- ^ Neil McAllister, Microsoft's Roslyn: Reinventing the compiler as we know it, DEVELOPER_WORLD, 2011-10-20
- ^ "Fabulous adventures in coding". About Eric Lippert. Eric Lippert. November 29, 2012.
- ^ "Hiring for Roslyn". Eric Lippert's MSDN blog. Eric Lippert. December 16, 2010.
- Yakima Herald. Archived from the originalon November 2, 2014. Retrieved November 1, 2014.
- ^ Microsoft "Roslyn" CTP Archived April 18, 2012, at the Wayback Machine, Microsoft Download Center
- ^ Microsoft "Roslyn" CTP, Microsoft Download Center
- ^ What's New in the Microsoft "Roslyn" September 2012 CTP, Visual Studio vNext Forums
- ^ Known Limitations and Unimplemented Language Features, Visual Studio vNext Forums
- ^ .NET Foundation – Open Source Foundation for the .NET Community
- ^ "Highlights from Build 2014's Second Keynote". InfoQ. Retrieved December 26, 2021.
- ^ Microsoft Roslyn vs. CodeDom
- ^ Visual Studio 2015 RTM, 2015-07-20
- ^ We're moving to GitHub! Archived December 1, 2015, at the Wayback Machine, MSDN VBTeam Blog, 2015-01-10
- ^ "Whitepaper: Roslyn Project Overview". Microsoft.
- ^ Overview of Roslyn from GitHub documentation
Further reading
- Vasani, Manish (2017). Roslyn Cookbook: Compiler as a Service, Code Analysis, Code Quality and more. Packt Publishing. ISBN 978-1787286832.
- Harrison, Nick (2017). Code Generation with Roslyn. Apress. ISBN 978-1484222102.
- Mukherjee, Sudipta (2017). Source Code Analytics With Roslyn and JavaScript Data Visualization. Apress. ISBN 978-1484219249.
External links
- Official website
- Introducing the Microsoft “Roslyn” CTP on the C# Frequently Asked Questions MSDN blog
- Throwing the Big Switch on Roslyn on the C# Frequently Asked Questions MSDN blog