-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
43 lines (40 loc) · 2.09 KB
/
Directory.Build.props
File metadata and controls
43 lines (40 loc) · 2.09 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
42
43
<Project>
<PropertyGroup>
<LangVersion>latest</LangVersion>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<WarningsAsErrors />
<NoWarn>$(NoWarn);1591</NoWarn>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
<AnalysisLevel>latest</AnalysisLevel>
<EnableNETAnalyzers>true</EnableNETAnalyzers>
</PropertyGroup>
<!-- Code Analysis -->
<PropertyGroup>
<AnalysisMode>Recommended</AnalysisMode>
<!-- Disable rules inappropriate for CLI applications -->
<NoWarn>$(NoWarn);CA2007</NoWarn> <!-- ConfigureAwait - no sync context in console apps -->
<NoWarn>$(NoWarn);CA1848</NoWarn> <!-- LoggerMessage delegates - overkill for simple logging -->
<NoWarn>$(NoWarn);CA1305</NoWarn> <!-- IFormatProvider - CLI doesn't need globalization -->
<NoWarn>$(NoWarn);CA1307</NoWarn> <!-- StringComparison - ordinal is default for paths -->
<NoWarn>$(NoWarn);CA1308</NoWarn> <!-- Normalize to uppercase - lowercase is fine for keys -->
<NoWarn>$(NoWarn);CA1310</NoWarn> <!-- StringComparison for correctness - ordinal is implicit -->
<NoWarn>$(NoWarn);CA1031</NoWarn> <!-- Catch general exceptions - needed for Result<T> pattern -->
<NoWarn>$(NoWarn);CA1062</NoWarn> <!-- Validate parameters - handled by FluentValidation -->
<NoWarn>$(NoWarn);CA1303</NoWarn> <!-- Localized parameters - CLI doesn't need localization -->
<NoWarn>$(NoWarn);SYSLIB1104</NoWarn> <!-- Binding logic not generated - Configuration.GetValue<T?> with nullable generics -->
</PropertyGroup>
<!-- Source Link -->
<PropertyGroup>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
</PropertyGroup>
<!-- Deterministic build -->
<PropertyGroup Condition="'$(GITHUB_ACTIONS)' == 'true'">
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
</PropertyGroup>
</Project>