我有一个 .NET Core 应用程序,其中有一个 .NET Standard 2.1 项目。我正在使用 Coverlet 来获取 Cobertura 格式的代码覆盖率。
我在所有测试项目中使用“coverlet.msbuild”nuget 包。
我想在程序集级别添加
[ExcludeFromCodeCoverage]
属性,以便 Coverlet 在执行分析时忽略此项目。
我在 .NET Core / .NET Standard 项目中找不到
AssemblyInfo.cs
文件。
我尝试在项目的
.csproj
文件中添加以下标签
<ItemGroup>
<AssemblyAttribute Include="System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute" />
</ItemGroup>
但还是没有运气。
对我来说唯一的解决方法是在所有类文件中手动添加 thr
[ExcludeFromCodeCoverage]
属性,这不是最好的方法。
这适用于 .NET 6。我怀疑它也适用于 .NET Core 3.1+
将以下内容添加到 csproj 文件中
<ItemGroup>
<AssemblyAttribute Include="System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage" />
</ItemGroup>
或者在程序集项目中的任何文件中
using System.Diagnostics.CodeAnalysis;
[assembly: ExcludeFromCodeCoverage]