#c# #roslyn #roslyn-code-analysis
#c# #roslyn #roslyn-анализ кода
Вопрос:
Я разрабатываю программу статического анализа для анализа моего проекта на C #.
Я использую Roslyn для этой работы. Мой проект, который я хочу проанализировать, очень большой и насчитывает около 300 проектов. Когда я использую приведенный ниже код, это занимает около 1,5 минут.
var solutionName="solutionPath.sln";
MSBuildWorkspace workSpace = MSBuildWorkspace.Create();
Solution solution = workSpace.OpenSolutionAsync(solutionName).Resu<
1,5 минуты времени загрузки для меня больше, потому что моя Visual Studio загружает это решение примерно за 10 секунд.
Есть ли какой-либо способ сократить это время загрузки?
Комментарии:
1. Visual Studio продолжает загружать проекты в фоновом режиме после открытия решения, так что это несправедливое сравнение. Чтобы ускорить процесс, купите твердотельный накопитель.
2. спасибо за ваш комментарий. я использую SSD
Ответ №1:
Вероятно, нет; это примерно то время, которое я ожидал бы для решения такого размера. Visual Studio кэширует результат последней загрузки материала (и нет, нет простого способа использовать это кэширование в MSBuildWorkspace). Держу пари, что если бы вы удалили скрытую папку .vs своим решением и снова открыли Visual Studio, это заняло бы примерно столько же времени.
Комментарии:
1. спасибо за ваш ответ, я создаю новую конфигурацию и снимаю флажок отладки для своих проектов в Configuration Manager для моей новой конфигурации. и я загружаю решение в Roslyn с новой конфигурацией. Я могу загрузить это быстрее, чем. но таким образом возникло некоторое ограничение. метаданные для проектов были равны нулю.