-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
41 lines (38 loc) · 2.42 KB
/
Copy pathDirectory.Build.props
File metadata and controls
41 lines (38 loc) · 2.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<Project>
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
<AnalysisMode>all</AnalysisMode>
<AnalysisLevel>latest-all</AnalysisLevel>
<AnalysisModeSecurity>All</AnalysisModeSecurity>
<IncludeSymbols>true</IncludeSymbols>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<!-- CA1873 avoid-potentially-expensive-logging-args : diagnostic log arguments are cheap value reads (counts, elapsed ms); the rule ships only in the newer SDK analyzer band so it flickers across environments — suppressed solution-wide for stable builds -->
<!-- CA2007 consider-calling-configureawait : ConfigureAwait is advice for apps that carry a synchronization context; Pool is a library and never captures one, so the call would be noise on every await -->
<NoWarn>$(NoWarn);CA1873;CA2007</NoWarn>
</PropertyGroup>
<PropertyGroup Condition="$(MSBuildProjectName.EndsWith('.Tests'))">
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<!-- Test-project analyzer carve-outs, gated here rather than in per-assembly GlobalSuppressions:
CA1707/IDE1006 - test method names use underscores (Given_When_Then) by convention.
IDE0079 - keeps the inline IDISP suppressions in the test code from being flagged as unnecessary.
CA1515 - xUnit requires public test classes, so "make public types internal" does not apply.
CA1812 - internal test fixture types (PoolItem, PoolClient) are activated reflectively by the DI container, so the analyzer cannot see construction. -->
<NoWarn>$(NoWarn);CA1707;IDE1006;IDE0079;CA1515;CA1812</NoWarn>
<CollectCoverage>true</CollectCoverage>
<CoverletOutputFormat>cobertura</CoverletOutputFormat>
<!-- Exception types are plumbing; exclude from coverage to avoid noise. -->
<Exclude>[*]*Exception</Exclude>
<!-- Source-generated files are plumbing too. -->
<ExcludeByFile>**/obj/**/*.g.cs</ExcludeByFile>
<!-- Coverage ratchet: floors set below the measured 100/92.85/100 (line/branch/method). Raise only — never lower — as coverage is measured. -->
<Threshold>95,90,95</Threshold>
<ThresholdType>line,branch,method</ThresholdType>
<ThresholdStat>total</ThresholdStat>
</PropertyGroup>
</Project>