繁体   English   中英

如何在Visual Studio 2015中使用roslyn C#编译器?

[英]How to use roslyn c# compiler with visual studio 2015?

我对罗琳有些困惑。

我做了什么:我已经安装了vs 2015社区版,并以可扩展性下载>下载编译器平台sdk。

因此,我创建了一个简单的控制台应用程序:hello world示例。

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

其次,我下载了master-roslyn并进行了构建,然后我找到了csc.exe,奇怪的是,如果我对exe进行隔离,则会得到c#编译器版本42.42.42.42。 ???? 对?

然后,我遵循了一些教程,但都是为了我:从文本文件或字符串vars加载源,分析或更改语法树,然后编译为var。

好了,我很困惑……所以:

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

谢谢

因此,您似乎有几个问题:

罗斯林是什么?

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

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

Roslyn还是一个平台,允许您构建可以修改,解释和理解其他程序的程序。 并不是要让您编写可自我修改的代码(尽管在某种程度上可能)。

Roslyn的常见用例是:

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

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

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

我可以更换编译器吗?

是的,您可以,但是在测试您想回馈给罗斯林的变更之外,我不认为这是个好主意。 您可以从GitHub下拉Roslyn,并按照以下说明从Visual Studio中构建和运行Roslyn。

如果遵循这些说明,则可以使用F5运行Roslyn项目。 它将启动使用您的自定义编译器的Visual Studio的新实例。 从现在开始,Microsoft以外的人将通过这种方式为编译器提供功能。 (以前,您无法将自定义编译器部署到Visual Studio,但他们在Visual Studio Update 1中修复了该问题)。

罗斯林有两件事:

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

如果您想对编译器进行更改并使用它进行构建,请查看这些说明(如果尚未使用的话)。 您可以通过几种不同的方式来制作自己的csc.exe版本,然后使用它来构建某些内容。 但是,没有您要找的“选择”对话框。

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

Roslyn是.NET编译器平台的代号,它提供开放源代码的C#和Visual Basic编译器。 该项目位于github上

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM