我对Roslyn有一些疑惑。
我已经安装了vs 2015社区版并在扩展性>下载编译器平台sdk中下载了,所以我创建了一个简单的控制台应用程序:hello world示例。
现在我期望在vs2015默认c#编译器和roslyn之间选择c#编译器,但我没有找到这样的选项。 因此,我的第一个问题是:如何选择c#编译器版本?
其次,我已经下载了master-roslyn并构建了它,然后我找到了csc.exe,奇怪的是,如果我启动exe,我得到c#编译器版本42.42.42.42。 ???? 对吗?
然后我跟着一些教程走,但是它们都是目的: 从文本文件或字符串变量加载源代码,分析或更改语法树,然后编译为var。
那么现在我很困惑...所以:
Roslyn到底是什么?元编译器吗?这意味着我可以像Reflection一样在运行时更改代码吗? 其次:如何使用默认csc编译器编译vs2015或选择roslyn? 第三:如果我构建一个自定义版本的roslyn,如何使用Vs2015编译我的源代码? 如何知道csc.exe是否为roslyn?没有帮助或命令行打印代号。
谢谢
var t = (7,2); Console.Write($"{t}");
放入您的Main方法中以查看是否编译和运行:它应该输出(7, 2)
。) - Matt<package id =“Microsoft.CSharp”version =“4.3.0”targetFramework =“net462”/> <package id =“Microsoft.Net.Compilers”version =“2.0.1”targetFramework =“net462”developmentDependency =“true”/> <package id =“System.ValueTuple”version =“4.3.0”targetFramework =“net462”/> <package id =“TaskExtensions”version =“0.1.1”targetFramework =“net462”/>
,当然在项目属性中也要选择**.NET Framework 4.62**。并显式添加引用“System.ValueTuple”。 - Matt