本文记录了Roslyn开发环境的安装与编译过程,参考了以下Roslyn项目的官方文档

https://github.com/dotnet/roslyn/blob/master/docs/contributing/Building,%20Debugging,%20and%20Testing%20on%20Windows.md

开发环境:

  • Windows server 2008 R2虚拟机
  • 安装Git
  • 安装VS2015 Upadte 1 Community 版 
    • vs2015需要IE10以上的浏览器
    • 可在http://download.microsoft.com/download/5/7/A/57A99666-126E-42FA-8E70-862EDBADD215/vs2015.1.com_enu.iso下载vs2015的ISO版本,离线安装
    • 离线安装过程中,遇到了一个ms sql data client什么的安装错误,直接跳过了

下载源代码:

  • 创建工作目录c:\roslyn
  • 在工作目录下打开Git Bash, 并执行命令:git clone https://github.com/dotnet/roslyn.git。 命令完成后,会创建一个新的roslyn目录包含所有源代码,在c:\roslyn\roslyn 目录下可以看到三个解决方案文件:
    • Compilers.sln:只包含最基本的与编译过程相关的项目
    • CrossPlatform.sln:包含在linux环境中编译并运行roslyn的相关项目
    • Roslyn.sln:包含所有的项目
  • 在Git Bash中切换到c:\roslyn\roslyn目录,并执行命令:git checkout -b test,创建并切换到一个新的测试分支以保证以后的任何修改不会影响master分支。

编译与测试:

  • 刚下载的代码不能直接在VS2015中编译,直接在VS2015中编译的话会有三百多个编译错误。
  • 从开始菜单中打开"Developer Command Prompt for VS2015",切换到roslyn所在目录(c:\roslyn\roslyn)
  • 执行命令Restore.cmd恢复NuGet packages
  • 执行命令 msbuild /v:m /m Roslyn.sln 编译代码,编译完成后就可以在VS2015中正常编译所有代码了
  • 执行命令 msbuild /v:m /m BuildAndTest.proj 执行所有单元测试。除了C:\rosyln\roslyn\src\ExpressionEvaluator\CSharp\Test\ExpressionCompiler\WinMdTests.cs中的测试案例OtherFrameworkAssembly,其它所有单元测试都能通过。感觉这个失败的测试与环境有关,暂时没有在Windows 8或Windows 10环境中测试过。
  • 所有测试结果可以在C:\rosyln\roslyn\Binaries\Debug\xUnitResults目录下找到,均为xml格式
  • 在VS2015中将测试项目设为启动项目,并执行该项目可生成一个html格式的测试报告(也生成到C:\rosyln\roslyn\Binaries\Debug\xUnitResults目录下)

Roslyn 学习笔记(一)的更多相关文章

  1. Roslyn 学习笔记(二)

    参考:https://github.com/dotnet/roslyn/wiki/Getting-Started-C%23-Syntax-Analysis 语法分析过程主要用到以下类或结构: Synt ...

  2. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  3. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  4. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  5. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  6. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  7. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  8. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  9. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

随机推荐

  1. Storm进程通信机制

    storm的worker进程之间消息传递机制图: 每个worker都有一个独立的监听进程,监听配置文件中配置过的端口列表supervisor.slots.ports,topology.receiver ...

  2. HTML5和CSS3的一些新特性

    html5有哪些新特性.移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5? 新特性: 1. 拖拽释放(Drag and drop) 2. 语义化更好的内容标 ...

  3. EXT 环境部署

    1. 准备工作 在开始搭建Ext 开发环境前,你需要安装好下列工具/程序: JDK1.5 MyEclipse 3.  Ext 基类代码 2. 安装JDK1.5 2.1. 确定已安装的JDK版本 点击开 ...

  4. js实现全选反选功能

    开始慢慢地学习js&jQuery. function clicked(){ var arr=document.getElementsByName("product"); f ...

  5. 应用jacob组件造成的内存溢出解决方案(java.lang.OutOfMemoryError: Java heap space)

    http://www.educity.cn/wenda/351088.html 使用jacob组件造成的内存溢出解决方案(java.lang.OutOfMemoryError: Java heap s ...

  6. aspjpeg 组件在asp中的使用

    本来好的系统,你却没有做好迁移等交接工作,所以,要麻烦死自己了-------for 凌杰 首先,该系统为asp系统,需要aspjpeg  支持.... 经过使用和测试.发现有如下小结. 1. 安装时 ...

  7. DOM位置参数

    以chrome浏览器测试为准 scrollwidth scrollheight clientwidth clientheight offsetwidth offsetheight 对象的实际宽高 包括 ...

  8. cookie 保存上次访问url方法

    if (Session[Enums.UserInfoSeesion] == null) { HttpCookie cookie = Request.Cookies[Enums.UserLastAcce ...

  9. GreenDao数据库框架的配置与增删改查

    并非原创,原创地址http://blog.csdn.net/njweiyukun/article/details/51893092 配置-------------------------------- ...

  10. 探索javascript----事件对象下的各种X和Y

    每次用到诸如client,screen,offset等,虽然通常都是能用对的,但是总觉得不是那么的自信没错.所以整理一下可以再需要的时候来查阅. 一:clientX和clientY,screenX和s ...