-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
56 lines (56 loc) · 2.91 KB
/
Directory.Build.props
File metadata and controls
56 lines (56 loc) · 2.91 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
44
45
46
47
48
49
50
51
52
53
54
55
56
<Project>
<!-- Import repository structure definitions -->
<Import Project="$(MSBuildThisFileDirectory)msbuild/repository.props" />
<!-- Repository-specific additions not in repository.props -->
<PropertyGroup Label="Custom Repository Variables">
<LocalNuGetFeed>$(PackagesDirectory)</LocalNuGetFeed>
</PropertyGroup>
<!-- MSBuild and NuGet behavior configuration -->
<PropertyGroup Label="MSBuild/NuGet Configuration">
<!-- Enable Central Package Management -->
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<!-- Enable package generation on build -->
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<!-- Output packages to our local feed directory -->
<PackageOutputPath>$(LocalNuGetFeed)</PackageOutputPath>
<!-- Suppress .NET preview SDK message -->
<SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>
</PropertyGroup>
<!-- Default language and framework settings for all projects -->
<PropertyGroup Label="Project Defaults">
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<LangVersion>latest</LangVersion>
</PropertyGroup>
<!-- Code quality, analyzers, and warning configuration -->
<PropertyGroup Label="Code Quality and Analysis">
<!-- Treat all warnings as errors -->
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<WarningLevel>5</WarningLevel>
<!-- Enable code style enforcement during build -->
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
<!-- Enable all analyzers with latest rules -->
<EnableNETAnalyzers>true</EnableNETAnalyzers>
<AnalysisMode>All</AnalysisMode>
<AnalysisLevel>latest-all</AnalysisLevel>
<!-- Report analyzer diagnostics in build output -->
<ReportAnalyzer>true</ReportAnalyzer>
<!-- Fail build on analyzer warnings (consistent with TreatWarningsAsErrors) -->
<CodeAnalysisTreatWarningsAsErrors>true</CodeAnalysisTreatWarningsAsErrors>
<!-- Disable CA1303 for console utilities -->
<NoWarn>$(NoWarn);CA1303</NoWarn>
</PropertyGroup>
<!-- Code analyzers applied to all projects -->
<ItemGroup Label="Code Analyzers">
<PackageReference Include="Roslynator.Analyzers" PrivateAssets="all" />
<PackageReference Include="Roslynator.CodeAnalysis.Analyzers" PrivateAssets="all" />
<PackageReference Include="Roslynator.Formatting.Analyzers" PrivateAssets="all" />
<PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" PrivateAssets="all" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.CodeStyle" PrivateAssets="all" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" PrivateAssets="all" IncludeAssets="runtime; build; native; contentfiles; analyzers; buildtransitive" />
<AdditionalFiles Include="$(MSBuildThisFileDirectory)BannedSymbols.txt" />
</ItemGroup>
</Project>