使用AdHocWorkspace会导致“不支持语言’C#’。”
使用VS2015中的Microsoft.CodeAnalysis.CSharp.Workspaces的RC2,此代码抛出exception:
var tree = CSharpSyntaxTree.ParseText(...); var workspace = new AdhocWorkspace(); var newRoot = Simplifier.Expand(tree.GetRoot(), compilation.GetSemanticModel(tree, false), workspace, n => true, true, CancellationToken.None);
exception消息是“不支持语言’C#’。”
我缺少什么让这项工作?
您需要添加对C#Workspaces NuGet包的引用。
这会将C#DLL复制到您的输出,让Roslyn的MEF扫描程序看到语言服务。