2016-10-02 7 views
2

Я разрабатываю программу статического анализа для анализа моего проекта на C#.Загрузка решения C# быстрее с помощью Rosyln

Я использую 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

, спасибо за ваш ответ, я создаю новую конфигурацию и сниму флажок отладки для моих проектов в Configuration Manager для моей новой конфигурации. и я загружаю решение в Roslyn с новой конфигурацией. Я могу загрузить это быстрее, чем. но некоторые ограничения произошли именно таким образом. метаданные для проектов были равны нулю. – user2352554

 Смежные вопросы

  • Нет связанных вопросов^_^