运行 在实时代码编辑期间使用 Roslyn 分析器,但在构建期间不使用
Run Roslyn analyzers during live code editing but not during build
Roslyn 代码分析器可在实时代码编辑和构建时工作。
但是,它们大大减慢了构建速度。因此,我想在构建期间禁用它们 - 但在实时编辑期间仍会使用它们。
这可能吗?
您可以在 .csproj 中使用 RunAnalyzersDuringBuild
:
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
</PropertyGroup>
更新:评论中的一些文档Docs
感谢之前的回答和link文档!我想在我的 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
,如 中所述。
Roslyn 代码分析器可在实时代码编辑和构建时工作。
但是,它们大大减慢了构建速度。因此,我想在构建期间禁用它们 - 但在实时编辑期间仍会使用它们。
这可能吗?
您可以在 .csproj 中使用 RunAnalyzersDuringBuild
:
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<RunAnalyzersDuringBuild>false</RunAnalyzersDuringBuild>
</PropertyGroup>
更新:评论中的一些文档Docs
感谢之前的回答和link文档!我想在我的 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
,如