【问题标题】:Run Roslyn analyzers during live code editing but not during build在实时代码编辑期间而不是在构建期间运行 Roslyn 分析器
【发布时间】:2020-02-11 10:30:02
【问题描述】:

Roslyn 代码分析器可在实时代码编辑和构建时工作。

但是,它们会大大减慢构建速度。因此,我想在构建期间禁用它们 - 但在实时编辑期间仍然使用它们。

这可能吗?

【问题讨论】:

标签: c# visual-studio visual-studio-2019 roslyn-code-analysis


【解决方案1】:

您可以在 .csproj 中使用RunAnalyzersDuringBuild

<PropertyGroup>    
     <TargetFramework>netcoreapp3.1</TargetFramework> 
     <RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>  
</PropertyGroup>

更新:来自 cmets Docs的一些文档

【讨论】:

【解决方案2】:

感谢之前的回答和文档链接!我想有条件地在我的 CI 构建中运行这些分析器,并用于本地编辑(智能感知),但不适用于本地构建。我通过 Directory.Build.props 文件(和自定义 msbuild 属性 -p:CI=true)完成了这一点:

<Project>
 <PropertyGroup>
   <RunAnalyzersDuringLiveAnalysis>true</RunAnalyzersDuringLiveAnalysis>
 </PropertyGroup>
 <PropertyGroup Condition="'$(CI)' != true">
   <RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
 </PropertyGroup>
 <PropertyGroup Condition="'$(CI)' == true">
   <RunAnalyzersDuringBuild>true</RunAnalyzersDuringBuild>
 </PropertyGroup>
</Project>

https://docs.microsoft.com/en-us/visualstudio/msbuild/customize-your-build?view=vs-2022

注意:我确实必须从解决方案项中删除 default.build.props,如 this answer 中所述。

【讨论】:

    猜你喜欢
    • 2016-06-25
    • 1970-01-01
    • 2014-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-03
    • 2013-10-02
    相关资源
    最近更新 更多