.NET 基金会项目介绍-.NET Compiler Platform Roslyn
- 2020 年 3 月 16 日
- 笔记
.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 – 【单元测试框架】