MSBuildWorkspace.Create() - 支持的语言为零

use*_*817 6 c# roslyn

我使用roslyn Formatter.Format()方法格式化一些c#.

其中一个参数采用Workspace可以使用的对象创建MSBuildWorkspace.Create().

但是,当我运行代码时,我得到一个运行时异常,因为工作区返回时没有支持的语言.如果我在控制台应用程序中运行它,它工作正常.

有任何想法吗?

Kev*_*lch 6

确保将Microsoft.CodeAnalysis.CSharp.Workspaces.dll和/或Microsoft.CodeAnalysis.VisualBasic.Workspaces.dll与您的应用程序一起部署.

工作区通过加载这些程序集动态地发现它支持的语言.