我已经成功地使用了NRefactory,并且刚开始遇到解析使用某些新.NET功能的源代码的问题。我特别注意到的一项功能是字符串插值。当NRefactory看到类似$"File: {myFile}"
的内容时,解析它就完全失败了。
是否有可以处理dot-NET 4.6的代码的新版本,或者是否需要设置标志?如果不是,是否还有另一种简单的方法可以从源代码获取解析树?
如果我想使用Roslyn,是否可以在VS 2015中做到这一点,还是需要VS 2017或更高版本?尝试在VS 2015中打开Roslyn SLN,但未加载任何项目。
答案 0 :(得分:0)
NRefactory不支持C#6或更高版本的功能,这会影响字符串插值。根据{{3}},
NRefactory目前没有维护者。如果您需要C# 解析器/编译器前端,使用Microsoft.CodeAnalysis(Roslyn) 代替。
NRefactory中的重构已移植到Roslyn: NRefactory
您可以将Roslyn与Visual Studio 2015一起使用,只要安装了.NET 4.6或更高版本即可,尽管Roslyn团队建议使用4.7.2。最后,您需要进行https://github.com/icsharpcode/RefactoringEssentials/:
安装通用Windows App开发工具->工具(1.1.1)和 Windows SDK,Windows 8.1和Windows Phone 8.0 / 8.1工具->工具和 Windows SDK和Visual Studio扩展工具 following