本文记录了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. HDU 4067 hdoj 4067 Random Maze 最小费用流

    给出n个点,m条边,入口s和出口t,对于每条边有两个值a,b,如果保留这条边需要花费:否则,移除这条边需要花费b. 题目要求用最小费用构造一个有向图满足以下条件: 1.只有一个入口和出口 2.所有路都 ...

  2. IOS setValue forKey

    NSObjiect *obj:[obj setValue:value forKey:@"cpname"]复制代码的时候都会出现这个异常this class is not key v ...

  3. Jacoco入门

    Jacoco介绍 转自:wangmuming 的博客 Jacoco是一个开源的覆盖率工具.Jacoco可以嵌入到Ant .Maven中,并提供了EclEmma Eclipse插件,也可以使用JavaA ...

  4. Fiddler-2 Fiddler抓包原理

    1 fiddler抓包是在 客户端和服务器之间建立一个代理服务器,监听本机发出的请求和服务器返回的响应结果. 截一张官网的图: 2 启动fiddler之前,[dinghanhua]先来看一下代理服务器 ...

  5. MySQL5.6下使用xtrabackup部分备份恢复到MySQL5.7

    现有需求:需要备份MySQL5.6环境下的部分表到MySQL5.7环境下并进行恢复 通过xtrabackup 实现部分备份有三种方式: 参考链接:http://blog.csdn.net/zhu197 ...

  6. windows上传代码到github

    上传代码到github上有很多种方法,在这里我介绍一种比较简单的一种.工具嘛,越简单越好用啊. 1.首先下载github在windows下的客户端 下载地址:https://desktop.githu ...

  7. 关于mongoldb 启动时显示 add already in use

    1 .不要在国内网上查找 浪费时间 2. stack over flow 是个不错的选择 进入正题. 终端输入: ps wuax | grep mongo 会看到: 随后:kill 447

  8. i++与++i

    #include <stdio.h> int main() { int a,b,c,d; a = 10; b = a++;//相当于两个句子:b = a,a += 1;先使用a的值再加1 ...

  9. css中文乱码与替换字符

    有时候,我们的css样式表中字体乱码,很诧异.百度谷歌是两个老师,有时jquery博客还上淘宝,那边有现成的代码,看看,发现里面定义全局字体是这样的font:12px/1.5 tahoma,arial ...

  10. 用Unity写一个12306验证器的恶搞图生成软件

    前言 前一阵子是买火车票的高峰期,然后12306的验证码就遭到各种吐槽.其实大部分验证码没有那么难,大家只是因为买不到票 发泄一下不满的情绪.于是各种恶搞的图就出现了,比如找二次元里人物的矮子,找好男 ...