使用Rosyln更快地加载c#解决方案
本文关键字:加载 解决方案 Rosyln 使用 | 更新日期: 2023-09-27 18:09:56
我正在开发一个静态分析程序来分析我的c#项目。
我用Roslyn做这项工作。我想分析的项目非常大,大约有300个项目。当我使用下面的代码时,大约需要1.5分钟。
var solutionName="solutionPath.sln";
MSBuildWorkspace workSpace = MSBuildWorkspace.Create();
Solution solution = workSpace.OpenSolutionAsync(solutionName).Result;
1.5分钟的加载时间对我来说更多,因为我的Visual Studio加载这个解决方案大约需要10秒。
有没有办法减少这个加载时间?
可能不会;这个时间大概是我对这个大小的解的期望。Visual Studio正在缓存上次加载内容的结果(不,在MSBuildWorkspace中没有简单的方法来使用缓存)。我敢打赌,如果你在你的解决方案中删除了隐藏的。vs文件夹,然后重新打开Visual Studio,它也需要这么长时间。