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

C# 如何在visual studio 2015中使用roslyn c编译器?,c#,visual-studio,roslyn,C#,Visual Studio,Roslyn,我对罗斯林有点困惑 我所做的: 我已经安装了vs 2015社区版,并在extensibilty>download compiler platform sdk中下载 所以我创建了一个简单的控制台应用程序:hello world示例 现在我希望在vs2015默认编译器和roslyn之间选择c编译器,但我还没有找到这样的选项。 所以我的第一个问题是:如何选择c编译器的版本 其次,我下载了master roslyn和我的build,然后我找到了csc.exe,奇怪的是如果我启动了exe 我得到了c编译器

我对罗斯林有点困惑

我所做的: 我已经安装了vs 2015社区版,并在extensibilty>download compiler platform sdk中下载

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

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

其次,我下载了master roslyn和我的build,然后我找到了csc.exe,奇怪的是如果我启动了exe 我得到了c编译器版本42.42.42.42????对吧?

然后我学习了一些教程,但都是为了我: 从文本文件或字符串变量加载源代码,分析或更改语法树,然后编译为变量

在这一点上我很困惑。。。因此:

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

谢谢你Roslyn有两件事:

一个API,可以让你看到编译器的东西,比如语法树和符号。 在1上实现的新csc.exe。
如果您想对编译器进行更改并使用它进行构建,请查看是否尚未进行更改。有几种不同的方法可以创建自己的csc.exe版本,然后使用它来构建一些东西。但是没有您想要的选择对话框。

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

什么是罗斯林? Roslyn是Visual Studio 2015内部的新默认编译器。如果您在Visual Studio 2015中构建和运行应用程序,那么它们将使用Roslyn编译器进行编译。您将可以利用所有新的C 6特性,这些特性仅在新的编译器中可用

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

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

Roslyn的常见用例有:

在Visual Studio中提供错误和警告的生成。 为VisualStudio构建理解源代码的扩展。 构建理解或运行源代码的其他工具。示例:-使用C代码编写脚本。 为了将Roslyn用于这些目的,您需要从NuGet中下载Microsoft.CodeAnalysis软件包。您可以使用这些包来解析代码、分析语法树、分析符号或编译代码并发出IL

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

我可以替换编译器吗? 是的,你可以,但我不认为这是一个好主意,除了测试你想为Roslyn贡献的更改。您可以从GitHub中调出Roslyn,然后在VisualStudio中构建和运行Roslyn


如果您按照这些说明操作,就可以使用F5运行Roslyn项目。它将启动使用自定义编译器的Visual Studio的新实例。这就是从现在起,微软以外的人将如何为编译器贡献功能。以前您无法将自定义编译器部署到Visual Studio,但他们在Visual Studio Update 1中修复了此问题。

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


Roslyn是.NET编译器平台的代号,它提供开源C和Visual Basic编译器。该项目在上提供。

是的,我看到了你的utube频道,非常好!请继续使用有关roslyn和pratical use的示例和您的视频。。。谢谢:,但是你知道为什么主版本有42.42.42.42作为印刷版吗?有什么好的理由吗?这是JoshVarty在Roslyn上的youtube频道的链接。真的很有趣,他付出了很大的努力。您可以从NuGet中下载Microsoft.CodeAnalysis软件包。这就是让我困惑的地方。我原以为VS2015应该包括的所有内容,但我想不是。如何在VS2015中启用C7?我知道LinqPad 5 beta版我可以使用它,但在VS中我无法将控制台应用程序更改为C7模式。。。快速测试:将var t=7,2;Console.Write${t};输入Main方法,查看它是否编译并运行:它应该输出7,2@Matt不可能。C 7只能在VS 2017中启用。