2016-10-02 95 views
2

我正在开发一个静态分析程序,用于分析C#中的项目。Rosyln更快加载C#解决方案

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

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

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

有什么办法可以减少这个加载时间吗?

+0

Visual Studio在打开解决方案后不断加载项目,所以这是一个不公平的比较。为了加快速度,购买SSD。 – CodeCaster

+0

感谢您的评论。我使用SSD – user2352554

回答

1

可能不是;那个时间大概是我期望得到的那种大小的解决方案。 Visual Studio正在缓存上次加载内容的结果(并且不,在MSBuildWorkspace中没有简单的方法来使用该缓存)。我敢打赌,如果您通过解决方案删除了​​隐藏的.vs文件夹并重新打开了Visual Studio,那么需要花费很长时间。

+0

感谢您的回复,我创建了一个新的配置,并取消选中我配置管理器中用于我的新配置的项目的调试复选框。我用新的配置将解决方案加载到Roslyn中。我可以加载速度比。但通过这种方式发生了一些限制。项目的元数据为零。 – user2352554

相关问题