写点什么

用 Roslyn 项目分析代码

  • 2012-04-27
  • 本文字数:620 字

    阅读完需:约 2 分钟

微软这个月在 Redmond 召开了 Lang.NEXT 大会,会上有一个演讲,演示了 Roslyn 项目这个代码分析工具。Dustin Campbell 的演讲“更深入了解 Roslyn 项目”对它做了介绍,并以一个示例项目代码的构建作为结束。

Roslyn 框架并没有打算用来作为可定制的编译器,它的目的是将 C#和 Visual Basic 的使用尽可能最大化。这两个语言的编译器都已经全部重新编写,这样 Roslyn 的 C#编译器用 C#开发,Roslyn 的 VB 编译器用 VB 开发。Campbell 发现:这让原来的编辑器中很多不合理的地方和 bug 都有机会修正。

Roslyn 的设计特性包括:

  • 不可变:对象不能改变,要想改变,只能在原来版本上创建新对象。
  • 完整:源代码重新表示,包括空格、注释、错误等等。
  • 弹性:用容错来处理错误。比如:失败的代码上几乎总是会做到完成语句,这样让分析器必须可以处理。
  • 高效:项目在构建快照上体现了效率,而且能够增量分析代码。

当 Roslyn 环境打开后,存在两个活跃的工作空间实例。第一个是传统工作空间,存留现在加载的 VS 解决方案。另一个实例是交互窗口(REPL)。这种分离有助于语句完成,并让 IntelliSense 在开发环境中的代码提示更为正确。

Campbell 指出:Roslyn 在 10 月份会以 Beta 版本提供,发布版本代码(1.0)不会与 Visual Studio 11 一同交付。实际上,它会作为未来 VS 的一部分发布。尽管 Campbell 没有明确说明:考虑到 Beta 版本支持 VS2010,看来微软会将其独立于正式的 VS 发布进行部署。

查看英文原文: Code Analysis with Project Roslyn

2012-04-27 11:091861
用户头像

发布了 479 篇内容, 共 159.2 次阅读, 收获喜欢 50 次。

关注

评论

发布
暂无评论
发现更多内容

Spring Boot集成JasperReport生成文档

源字节1号

开源 软件开发 前端开发 后端开发 小程序开发

ARTS 打卡第 4 周

AI帅辉

ARTS 打卡计划 学习分享

ARTS 打卡第四周

请务必优秀

ARTS 打卡第 4 周

atom

第四周ARTS打卡

犇犇

ARTS 打卡计划

蓝易云:提升网站性能:Nginx五种高效负载均衡策略详解!

百度搜索:蓝易云

nginx 云计算 Linux 运维 云服务器

Rich Bowen: 无论你在创造什么,最终交付的是信任。

亚马逊云科技 (Amazon Web Services)

开源 亚马逊云科技

mac电脑数据转换 EasyDataTransform激活最新版

胖墩儿不胖y

数据转换 Mac软件 数据处理软件

macos轻量级思维导图软件 ClickCharts最新激活版

mac大玩家j

思维导图 Mac软件 思维导图软件

Spring 中 Bean 的生命周期

小万哥

Java spring 程序员 springboot SpringCloud

元宇宙优势与劣势、机遇与挑战分析-元宇宙解决方案

3DCAT实时渲染

元宇宙解决方案

文盘Rust -- 给程序加个日志 | 京东云技术团队

京东科技开发者

京东云 企业号9月PK榜

数据库深分页介绍及优化方案 | 京东云技术团队

京东科技开发者

京东云 企业号9月PK榜

C++的运算符重载介绍

芯动大师

区块链dapp程序开发,app项目系统搭建

V\TG【ch3nguang】

手机+卫星的科技狂想

脑极体

手机 卫星

CnosDB 签约京清能源,助力分布式 光伏发电解决监测系统难题

CnosDB

开源 时序数据库 CnosDB 京清能源

张勇卸任阿里云董事长与CEO,该职务将由集团CEO吴泳铭兼任

B Impact

破局DevOps|8大北极星指标指引研发效能方向

laofo

DevOps 研发效能 研发度量 效能度量 研发效能度量

ARTS 打卡第 4 周

Geek_wu

ARTS 打卡计划 左耳朵耗子

程序员的核心竞争力是什么?

chao5

区块链DAPP系统开发搭建

V\TG【ch3nguang】

区块链应用开发

ARTS 打卡 第三周,向阳而生

闫同学

ARTS 打卡计划

蓝易云:Tomcat 部署及优化详细教程!

百度搜索:蓝易云

Java tomcat Linux Web

数据驱动决策:以经验与洞察引领工作智慧

叶小鍵

解锁社交媒体的未来:SocialFi 的承诺

区块链软件开发推广运营

交易所开发 数字藏品开发 合约交易所开发 NFT开发 区块链开发DAPP开发

用Roslyn项目分析代码_.NET_Jeff Martin_InfoQ精选文章