我对罗斯林有点困惑.
我做了什么:我已经安装了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?没有帮助或命令行打印代号.
谢谢
所以看起来你有几个问题:
什么是罗斯林?Roslyn是Visual Studio 2015中的新默认编译器.如果您在Visual Studio 2015中构建和运行应用程序,则它们将使用Roslyn编译器进行编译.您将可以利用仅在新编译器中可用的所有新C#6功能.
如果你正在使用VS2015,Roslyn已经完全取代了旧的编译器,据我所知你不能在VS 2015中使用旧的编译器.
Roslyn也是一个平台,允许您构建可以修改,解释和理解其他程序的程序.这并不意味着让你编写修改自己的代码(虽然这可能在某种程度上可能).
Roslyn的常见用例是:
构建代码分析器,在Visual Studio中提供错误和警告.
构建理解源代码的Visual Studio扩展.
构建理解或运行源代码的其他工具.示例:ScriptCS - 使用C#代码编写脚本.
为了将Roslyn用于这些目的,您需要Microsoft.CodeAnalysis
从NuGet下载软件包.您可以使用这些包来解析代码,分析语法树,分析符号或编译代码并发出IL.
如果您有兴趣了解更多关于Roslyn的信息,我已经开始了一个名为Learn Roslyn Now的系列,您可能会感兴趣.
我可以替换编译器吗?是的,你可以,但我不相信这是一个很好的想法,除了测试你想要回馈给Roslyn的变化.您可以从GitHub下载Roslyn并按照这些说明在Visual Studio中构建和运行Roslyn.
如果您按照这些说明操作,您将能够使用F5运行Roslyn项目.它将启动一个使用自定义编译器的Visual Studio的新实例.这就是微软以外的人们从现在开始为编译器贡献功能的方式.(以前您无法将自定义编译器部署到Visual Studio,但他们已在Visual Studio Update 1中修复了该编译器).
罗斯林有两件事:
一种API,可让您查看语法树和符号等"编译器".
在#1上实现的新csc.exe.
如果要对编译器进行更改并使用它进行构建,请查看这些说明(如果尚未使用).您可以通过几种不同的方式制作自己的csc.exe版本,然后使用它来构建一些东西.但是没有像你正在寻找的"选择"对话框.