Ответ 1
Попробуйте Tools/Options/Text Editor/C#/Advanced
и отключите полный анализ решения. Он доступен только после обновления версии VS2015.
Я пытаюсь работать с большим проектом с открытым исходным кодом, в котором есть несколько аналитиков Roslyn Code. Когда я открываю решение, Visual Studio использует ~ 35% CPU в течение примерно 15 минут. Используя PerfView, я понял, что анализаторы кода, запускаемые в решении, утомляют Visual Studio.
Я знаю, что можно отключить анализаторы по каждому проекту, но это решение содержит более 100 проектов, поэтому я бы не стал делать это один за другим.
Мой вопрос (ы):
Попробуйте Tools/Options/Text Editor/C#/Advanced
и отключите полный анализ решения. Он доступен только после обновления версии VS2015.
Вы можете отключить анализаторы для каждого проекта.
Чтобы сделать это, щелкните правой кнопкой мыши на Проект > Ссылки > Анализаторы в Обозреватель решений и нажмите Открыть Active Rule Set
Вы можете отключить отдельные анализаторы или целые пакеты анализаторов.
Это создает файл <ProjectName>.ruleset
и изменяет <ProjectName>.csproj
, что означает, что вы будете делиться этой конфигурацией с вашей командой, если вы не исключите эти изменения из исходного элемента управления.
Примечание. Изменения применяются после закрытия и повторного открытия решения.
Изменения в .csproj
:
<Project ...>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<CodeAnalysisRuleSet>Example.ruleset</CodeAnalysisRuleSet>
Example.ruleset
файл:
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="Rules for WpfApplication1" Description="Code analysis rules for WpfApplication1.csproj." ToolsVersion="14.0">
<Rules AnalyzerId="Microsoft.CodeAnalysis.CSharp" RuleNamespace="Microsoft.CodeAnalysis.CSharp">
<Rule Id="AD0001" Action="None" />
<Rule Id="CS0028" Action="None" />
...
Можно ссылаться на файл набора правил, расположенный в родительской папке
<Project ...>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<CodeAnalysisRuleSet>..\Example.ruleset</CodeAnalysisRuleSet>
Таким образом, вы можете определить один набор правил для всего решения.
Попробуйте комбинировать следующее в своих файлах csproj или Directory.Build.props
<RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
<RunAnalyzersDuringLiveAnalysis>false</RunAnalyzersDuringLiveAnalysis>
<RunAnalyzers>false</RunAnalyzers>