我使用roslyn Formatter.Format()方法格式化一些c#.
其中一个参数采用可以使用MSBuildWorkspace.Create()创建的Workspace对象.
但是,当我运行代码时,我得到一个运行时异常,因为工作区返回时没有支持的语言.如果我在控制台应用程序中运行它,它工作正常.
有任何想法吗?
解决方法
确保将Microsoft.CodeAnalysis.CSharp.Workspaces.dll和/或Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll与您的应用程序一起部署.
工作区通过加载这些程序集动态地发现它支持的语言.