使用Rosyln更快地加载C#解决方案

使用Rosyln更快地加载C#解决方案,c#,roslyn,roslyn-code-analysis,C#,Roslyn,Roslyn Code Analysis,我正在开发一个静态分析程序,用C#分析我的项目 我用罗斯林做这项工作。我想分析的项目非常大,大约有300个项目。当我使用下面的代码时,大约需要1.5分钟 var solutionName="solutionPath.sln"; MSBuildWorkspace workSpace = MSBuildWorkspace.Create(); Solution solution = workSpace.OpenSolutionAsync(solutionName).Result; 1.5分钟的加载时

我正在开发一个静态分析程序,用C#分析我的项目

我用罗斯林做这项工作。我想分析的项目非常大,大约有300个项目。当我使用下面的代码时,大约需要1.5分钟

var solutionName="solutionPath.sln";
MSBuildWorkspace workSpace = MSBuildWorkspace.Create();
Solution solution = workSpace.OpenSolutionAsync(solutionName).Result;
1.5分钟的加载时间对我来说要长得多,因为我的VisualStudio在大约10秒内加载这个解决方案


有没有办法缩短加载时间?

可能没有;这大概是我对这种规模的解决方案所期望的时间。VisualStudio正在缓存上次加载内容的结果(不,在MSBuildWorkspace中使用该缓存并不容易)。我敢打赌,如果您通过解决方案删除了隐藏的.vs文件夹并重新打开Visual Studio,也会花费那么长的时间。

Visual Studio在打开解决方案后一直在后台加载项目,因此这是一个不公平的比较。要加快速度,请购买SSD。谢谢您的评论。我使用SSDthanks作为您的响应,我创建了一个新的配置,并在配置管理器中为我的新配置取消选中了项目的调试复选框。我在Roslyn中加载了新配置的解决方案。我可以比你更快地加载它。但这种方式存在一些局限性。项目的元数据为零。