首页 文章

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

提问于
浏览
28

我对罗斯林有点困惑 .

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

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

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

其次我已经下载了master-roslyn并且我构建了,然后我找到了csc.exe,奇怪的是,如果我执行exe,我得到c#编译器版本42.42.42.42 . ????对?

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

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

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

谢谢

3 回答

  • 38

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

    什么是罗斯林?

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

    如果你正在使用VS2015,Roslyn已经完全取代了旧的编译器,据我所知你不能在VS 2015中使用旧的编译器 .

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

    Roslyn的常见用例是:

    • 构建Code Analyzers,在Visual Studio中提供错误和警告 .

    • 构建了解源代码的Visual Studio扩展 .

    • 构建了解或运行源代码的其他工具 . 示例:ScriptCS - 使用C#代码编写脚本 .

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

    如果你_1151567_已经开始了一个你可能感兴趣的名为Learn Roslyn Now的系列 .

    我可以替换编译器吗?

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

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

  • 1

    罗斯林有两件事:

    • 一个API,可以让您看到类似语法树和符号的"compiler things" .

    • 在#1上实现的新csc.exe .

    如果您想对编译器进行更改并使用它来构建,请查看these instructions,如果您还有几种不同的方法可以创建自己的csc.exe版本,然后使用它来构建内容 . 但是那里正在寻找's no 1251572 dialog like you' .

  • 9

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

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

相关问题