-
Notifications
You must be signed in to change notification settings - Fork 1
/
Directory.Build.props
89 lines (77 loc) · 3.62 KB
/
Directory.Build.props
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<!--
Properties shared by all projects in all subdirectories.
https://docs.microsoft.com/en-us/visualstudio/msbuild/customize-your-build
-->
<Project>
<PropertyGroup>
<!--
Use the latest released version of the C# language.
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/configure-language-version
-->
<LangVersion>latest</LangVersion>
<!--
Enable overflow checking by C# compiler.
Code which relies on overflow should use unchecked. I prefer immediate,
explicit failure (via throwing OverflowException) to continuing with
potentially incorrect behavior on overflow.
I expect minimal performance impact due to compiler optimizations and
amenability to branch prediction. Performance-critical code can disable
as-needed.
-->
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
<!--
Enable nullable reference types.
https://docs.microsoft.com/en-us/dotnet/csharp/nullable-references
Note: Nullable reference types are problematic for netstandard < 2.1, due
to lack of nullability annotations. Consider disabling, polyfilling (e.g.
https://github.com/dotnet/roslyn/issues/37995#issuecomment-531549082),
and/or using the Nullable NuGet package.
-->
<Nullable>enable</Nullable>
<!--
Include full paths in compiler output for Omnisharp.
See https://github.com/OmniSharp/omnisharp-vscode/issues/1197
-->
<GenerateFullPaths>true</GenerateFullPaths>
<!--
Annotate neutral language for assemblies.
https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1824
-->
<NeutralLanguage>en-US</NeutralLanguage>
<!-- Shared Metadata -->
<AssemblyName>$(MSBuildProjectName)</AssemblyName>
<Company>Kevin Locke</Company>
<Copyright>Copyright © 2019-2020 Kevin Locke</Copyright>
<!-- PackageLicenseExpression uses SPDX Expression Syntax Version 2.0
https://spdx.org/spdx-specification-21-web-version#h.jxpfx0ykyb60
https://spdx.org/licenses/ -->
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<ProjectUrl>https://github.com/kevinoid/NetCoreProject</ProjectUrl>
<RepositoryType>git</RepositoryType>
<RepositoryUrl>https://github.com/kevinoid/NetCoreProject.git</RepositoryUrl>
<!-- https://andrewlock.net/version-vs-versionsuffix-vs-packageversion-what-do-they-all-mean/ -->
<VersionPrefix>1.0.0</VersionPrefix>
<VersionSuffix>preview</VersionSuffix>
<!-- Enable .NET code quality and style analysis with all latest+preview
analyzers enabled by default. -->
<EnableNETAnalyzers>true</EnableNETAnalyzers>
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
<!-- Be aware, preview causes InvalidAgument error on VS Build tab.
https://developercommunity.visualstudio.com/content/problem/1222861
https://github.com/dotnet/project-system/pull/6673 -->
<AnalysisLevel>preview</AnalysisLevel>
<AnalysisMode>AllEnabledByDefault</AnalysisMode>
<!--
By default, symbols are not generated in Release mode. This complicates
debugging, prevents profiling, and removes source information from stack
traces. Instead, always generate debug symbols.
-->
<DebugSymbols>true</DebugSymbols>
</PropertyGroup>
<!-- Treat warnings as errors in CI to enforce rules by failing the build. -->
<PropertyGroup Condition="'$(CI)' == 'True'">
<CodeAnalysisTreatWarningsAsErrors>true</CodeAnalysisTreatWarningsAsErrors>
<MSBuildTreatWarningsAsErrors>true</MSBuildTreatWarningsAsErrors>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>
</Project>