3

1 つの .Net Standard 2.1 プロジェクトを含む .Net Core アプリケーションがあります。Coverlet を使用して、Cobertura 形式のコード カバレッジを取得しています。

すべてのテスト プロジェクトで「coverlet.msbuild」ナゲット パッケージを使用しています。

[ExcludeFromCodeCoverage] 属性をアセンブリ レベルで追加して、分析の実行中にカバーレットがこのプロジェクトを無視するようにしたいと考えています。

.Net Core / .Net Standard プロジェクトで AssemblyInfo.cs ファイルが見つかりません。

プロジェクトの .csproj ファイルに以下のタグを追加してみました

  <ItemGroup>
     <AssemblyAttribute Include="System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute" />
  </ItemGroup>

しかし、まだ運がありません。

私にとって唯一の回避策は、[ExcludeFromCodeCoverage] 属性をすべてのクラス ファイルに手動で追加することですが、これは最善の方法ではありません。

4

1 に答える 1

0

これは.NET 6で機能しました。.NET Core 3.1+でも機能すると思われます

csproj ファイルに以下を追加します。

    <ItemGroup>
        <AssemblyAttribute Include="System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage" />
    </ItemGroup>

または、これはアセンブリのプロジェクト内の任意のファイルにあります

using System.Diagnostics.CodeAnalysis;

[assembly: ExcludeFromCodeCoverage]
于 2022-02-08T14:34:07.240 に答える