.NET Compiler Platform Roslyn 是属于 .Net 基金会的一个项目,本文将简要介绍该项目相关的信息。
中文介绍
中文介绍内容翻译自英文介绍,主要采用意译、如与原文存在出入,请以原文为准。
.NET Compiler Platform (“Roslyn”)
.NET Compiler Platform (“Roslyn”) 是一款开源的 C# 和 Visual Basic 编译器,它提供了丰富的代码分析接口。你可以使用它来构建自己的代码分析工具,微软公司当前就是使用它来实现 Visual Studio!
项目详情
- 官网地址
- 项目源码
- 项目文档仓库: 概念解释, 接口文档
- 项目许可证: Apache License 2.0
- 项目联系人: Kevin Pilch-Bisson
相关链接
项目博客:
笔者简评
在 Roslyn 出来之前,编译器就是一个黑盒,传入的是源码,出来的是目标文件或者程序集。开发者仅仅能通过有限的参数来改变其行为。
但是 Roslyn 出来之后,时代变了。
开发者具备了完成下面这些事情的能力:
- 可以编写自己的语法检查规则,例如:必须使用 var 。
- 可以基于语法分析来编写代码生成器,替代提前的反射方法或者T4。这意味着,写代码的时候就可以生成代码。
- 编译器的升级不再依赖于VS和framework的版本发布。它单独的包,完全可以单独安装新的编译器而不升级 VS。(当然这么做的话,VS的提示会有点小瑕疵)
- 甚至可以自定义语法。加入自己定义的语法规则。
常规的业务开发,或许涉及不到上面的工作,但假如是研发岗位。为了更优质的代码,你需要学习使用这个框架。
英文介绍
.NET Compiler Platform (“Roslyn”)
The .NET Compiler Platform (“Roslyn”) provides open-source C# and Visual Basic compilers with rich code analysis APIs. You can build code analysis tools with the same APIs that Microsoft is using to implement Visual Studio!
Project Details
- Project Info Site
- Project Code Site
- Project Docs Repos: Concepts, APIs
- Project License Type: Apache License 2.0
- Project Main Contact: Kevin Pilch-Bisson
Quicklinks
Blogs:
以上《英文介绍》摘录自 .NET Foundation 的项目介绍 。原文受原项目许可证保护。
其他项目地址
- Akka.NET - 【Actor开发框架】
- AngleSharp - 【浏览器引擎】
- ASP.NET SignalR - 【Web实时通信框架】
- ASP.NET MVC, Web API and Web Pages Razor - 【Web开发框架】
- ASP.NET Ajax Control Toolkit - 【Ajax开发工具】
- ASP.NET Core - 【新时代Web开发框架】
- AutoMapper - 【对象映射管理】
- Microsoft Azure SDK for .NET - 【SDK】
- Microsoft Azure WebJobs SDK - 【SDK】
- BenchmarkDotNet - 【基准测试框架】
- Cake - 【本地自动化框架】
- Chemistry Add-in for Word - 【Word插件】
- Couchbase Lite for .NET - 【NoSQL引擎】
- DNN Platform - 【CMS系统】
- .NET Compiler Platform Roslyn - 【编译器】
- .NET Micro Framework - 【嵌入式框架】
- .NET SDK For Hadoop - 【SDK】
- DotVVM: Component-based MVVM framework for ASP.NET - 【Web服务端MVVM框架】
- Entity Framework - 【ORM】
- Humanizer - 【工具库】
- IdentityManager - 【身份认证数据管理工具】
- IdentityModel - 【身份认证对接库】
- IdentityServer - 【OAuth服务端】
- SixLabors.ImageSharp - 【2D绘图库】
- DLR/IronPython2/IronPython3 - 【.Net上运行Python】
- Json.NET - 【JSON处理库】
- Kudu - 【自动化框架】
- LLILC - 【语言底层项目】
- MailKit - 【邮件处理工具库】
- Managed Extensibility Framework MEF, MEF2 - 【模块化工具库】
- Microsoft Web Protection Library - 【Web防攻击工具库】
- MimeKit - 【MIME处理工具库】
- ML.NET - 【机器学习框架】
- Cecil - 【语言底层项目】
- Mono - 【语言跨平台底层项目】
- MSBuild - 【本地自动化框架】
- MVVM Light Toolkit - 【客户端MVVM开发框架】
- MvvmCross - 【客户端MVVM开发框架】
- Nancy - 【Web开发框架】
- .NET Core - 【Web开发框架】
- Newtonsoft.Json - 【JSON处理库】
- NuGet - 【包管理框架】
- NUnit Test Framework - 【单元测试框架】
- Open Live Writer - 【博客协作工具】
- Open XML SDK - 【Office SDK】
- Orchard CMS - 【CMS系统】
- Orleans - 【Actor开发框架】
- OWIN Authentication Middleware Katana Project - 【Web开发框架】
- Peachpie Compiler Platform - 【.Net上运行PHP】
- Polly - 【服务调用工具库】
- Prism - 【客户端MVVM开发框架】
- Protobuild - 【项目文件生成工具】
- Reactive Extensions for .NET - 【反应式编程框架】
- ReactiveUI - 【反应式编程UI框架】
- Salesforce Toolkits for .NET - 【SDK】
- SourceLink - 【源码调试支持】
- Steeltoe - 【微服务框架】
- System.Drawing Mono - 【2D绘图工具库】
- Telerik UI for UWP - 【UWP UI框架】
- Umbraco - 【CMS框架】
- UWP Community Toolkit - 【UWP 工具库】
- WCF - 【跨进程通信框架】
- Windows Phone Toolkit - 【WP 工具库】
- Windows Template Studio - 【UWP 项目模板】
- Windows Forms - 【客户端开发框架】
- WiX Toolset - 【安装包制作框架】
- WorldWide Telescope - 【宇宙探索工具】
- Windows Presentation Foundation WPF - 【客户端开发框架】
- Xamarin.Auth - 【移动端身份认证工具库】
- Xamarin.Mobile - 【移动端工具库】
- xUnit.net - 【单元测试框架】