Roslyn有哪些不同的工作空间以及它们之间的区别?我只知道MSBuildWorkspace
和AdhocWorkspace
。工作空间如何影响Roslyn分析?我已经读过你需要DnxWorkspace
用于MVC项目,但我还没有尝试过。
答案 0 :(得分:1)
Roslyn工作区是访问解决方案模型的共同点。
工作空间之间的差异主要在于解决方案模型的构建方式,是否通过读取文件构建等等。
MSBuildWorkspace通过msbuild解决方案或项目文件为您构建解决方案模型。
AdhocWorkspace要求您通过添加项目和文档的API调用来手动构建解决方案。
DnxWorkspace通过读取早期的dotnet核心project.json文件来构建解决方案模型。
在Visual Studio中使用Roslyn时,它使用的是VisualStudioWorkspace,可从VS项目系统获取解决方案模型。