如何在visual studio 2015中使用roslyn c#编译器?

我对罗斯林有点困惑。

我做了什么:我已经安装了vs 2015社区版并在extensibilty下载>下载编译器平台sdk。

所以我创建了一个简单的控制台应用程序:hello world example。

那么现在我希望在vs2015默认值和roslyn之间选择c#编译器……但是我没有找到这样的选项。 所以我的第一个问题是:如何选择c#编译器的版本?

其次我已经下载了master-roslyn并且我构建了,然后我找到了csc.exe,奇怪的是,如果我把这个exe文件拿到c#编译器版本42.42.42.42。 ???? 对?

然后我按照一些教程,但我的目的都是:从文本文件或字符串变量加载源并分析或更改语法树,然后编译为var。

那么在这一点上我很困惑……所以:

罗斯林究竟是什么? 元编译器? 这意味着我可以像运行一样在运行时更改我的代码? 第二:如何用vs2015编译默认csc或选择roslyn? 第三:如果我构建自定义版本的roslyn如何使用Vs2015编译我的源代码? 哪知道csc.exe是否是roslyn? 没有帮助或命令行打印代号。

谢谢

所以看起来你有几个问题:

什么是罗斯林?

Roslyn是Visual Studio 2015中的新默认编译器。如果您在Visual Studio 2015中构建和运行应用程序,则它们将使用Roslyn编译器进行编译。 您将可以利用仅在新编译器中可用的所有新C#6function。

如果您正在使用VS2015,Roslyn已完全替换旧编译器,据我所知,您无法在VS 2015中使用旧编译器。

Roslyn也是一个平台,允许您构建可以修改,解释和理解其他程序的程序。 这并不意味着让你编写修改自己的代码(虽然这可能在某种程度上可能)。

Roslyn的常见用例是:

  1. 构建在Visual Studio中提供错误和警告的代码分析器 。
  2. 构建了解源代码的Visual Studio扩展。
  3. 构建理解或运行源代码的其他工具。 示例: ScriptCS – 使用C#代码编写脚本。

为了将Roslyn用于这些目的,您可以从NuGet下载Microsoft.CodeAnalysis包。 您可以使用这些包来解析代码,分析语法树,分析符号或编译代码并发出IL。

如果您有兴趣了解更多关于Roslyn的信息,我已经开始了一个名为Learn Roslyn Now的系列,您可能会感兴趣。

我可以替换编译器吗?

是的,你可以,但我不相信这是一个很好的想法,除了测试你想要回馈给Roslyn的变化。 您可以从GitHub下载Roslyn并按照这些说明在Visual Studio中构建和运行Roslyn。

如果您按照这些说明操作,您将能够使用F5运行Roslyn项目。 它将启动一个使用自定义编译器的Visual Studio的新实例。 这是微软以外的人们从现在开始为编译器提供function的方式。 (以前您无法将自定义编译器部署到Visual Studio,但他们已在Visual Studio Update 1中修复了该编译器)。

罗斯林有两件事:

  1. 一种API,可让您查看语法树和符号等“编译器”。
  2. 在#1上实现的新csc.exe。

如果要对编译器进行更改并使用它进行构建,请查看这些说明(如果尚未使用)。 您可以使用几种不同的方法制作自己的csc.exe版本,然后使用它来构建一些东西。 但是没有像你正在寻找的“选择”对话框。

Roslyn是Visual Studio 2015的默认编译器。因此,如果您安装VS2015,那么您已经在使用Roslyn。

Roslyn是.NET Compiler Platform的代号,它提供了开源C#和Visual Basic编译器。 该项目可在github上获得 。