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

时间:2016-10-02 08:02:16

标签: c# roslyn roslyn-code-analysis

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

我使用Roslyn完成这项工作。我想分析的项目非常庞大,大约有300个项目。当我使用下面的代码时,大约需要1.5分钟。

var solutionName="solutionPath.sln";
MSBuildWorkspace workSpace = MSBuildWorkspace.Create();
Solution solution = workSpace.OpenSolutionAsync(solutionName).Result;

1.5分钟的加载时间对我来说更多,因为我的Visual Studio在大约10秒钟内加载了这个解决方案。

有没有办法减少加载时间?

1 个答案:

答案 0 :(得分:1)

可能不是;那个时间大致是我对那个尺寸的解决方案所期望的。 Visual Studio正在缓存上次加载内容的结果(不,在MSBuildWorkspace中没有简单的方法可以使用该缓存)。我敢打赌,如果您通过解决方案删除隐藏的.vs文件夹并重新打开Visual Studio,那么它也需要很长时间。