Repository navigation
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
95 lines (86 loc) · 4.79 KB
/
Copy pathDirectory.Build.props
File metadata and controls
95 lines (86 loc) · 4.79 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
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
90
91
92
93
94
95
<!-- Copyright © 2026 DevAM. Licensed under the MIT License. See LICENSE in the repository root. -->
<Project>
<PropertyGroup>
<RepoRoot>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)'))</RepoRoot>
<!-- Language & framework -->
<TargetFramework>net10.0</TargetFramework>
<LangVersion>14</LangVersion>
<Nullable>enable</Nullable>
<ImplicitUsings>disable</ImplicitUsings>
<!-- Analysis -->
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<EnableNETAnalyzers>true</EnableNETAnalyzers>
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
<AnalysisLevel>10-recommended</AnalysisLevel>
<!--
CA1711 — Identifiers should not have incorrect suffix
https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1711
Flags type names ending in reserved BCL suffixes (Stack, Delegate, Collection, …).
Ignored globally: protocol-stack types (IStack, FrameStack, ParseDelegate, …) use domain
names aligned with dissector/stack vocabulary; renaming would break API clarity and parity
with generated protocol code.
-->
<!--
CA1720 — Identifier contains type name
https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1720
Flags identifiers that embed CLR type words (String, Signed, Unsigned, Single, …).
Ignored globally: field-type and wire-format enums mirror protocol/tshark naming
(FieldType.String, DispatchKeyKind.String, Signal Message signedness, PDU transport modes);
alternate names would diverge from dissector labels and user-facing field names.
-->
<!--
IDE1006 — Naming rule violation (e.g. underscore-prefixed private fields/methods).
Ignored globally: the solution uses _camelCase for private members and helpers by convention.
-->
<!-- Id: RCS1226. Why: Roslynator wants extra XML-doc paragraphs in <para>; this repo
uses blank-line multi-paragraph summaries and does not adopt that markup. Why global:
it fires on any multi-paragraph XML comment; a pragma per comment is not viable.
User approved. See .editorconfig for the IDE severity. -->
<!-- Id: CA1716. Why: the rule flags public members named after reserved Visual Basic keywords; the plugin contract
fixes IPluginLog.Error (next to Info and Warning), and host-tier and app-tier contracts name members the same
way (for example events and error results). No VB consumer exists for these contracts. Why global: it fires on
every contract assembly of the plugin system, present and future; a pragma per member is not viable and renaming
would diverge from the agreed contract. User approved. -->
<NoWarn>$(NoWarn);CA1711;CA1716;CA1720;IDE1006;RCS1226</NoWarn>
<!-- Build -->
<Deterministic>true</Deterministic>
<DebugType>embedded</DebugType>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<!-- No NativeAOT / trimming in this solution -->
<IsAotCompatible>false</IsAotCompatible>
<IsTrimmable>false</IsTrimmable>
<EnableTrimAnalyzer>false</EnableTrimAnalyzer>
<!-- Version & package metadata -->
<Version>0.19.0</Version>
<Authors>DevAM</Authors>
<Company>DevAM</Company>
<Copyright>Copyright © 2026 DevAM. All rights reserved.</Copyright>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
<PackageProjectUrl>https://github.com/DevAM-Tools/NetworkInspector</PackageProjectUrl>
<RepositoryUrl>https://github.com/DevAM-Tools/NetworkInspector</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSymbols>false</IncludeSymbols>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
</PropertyGroup>
<!-- CI / Release deterministic packages -->
<PropertyGroup Condition="'$(Configuration)' == 'Release' or '$(CI)' == 'true'">
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release' or '$(CI)' == 'true'">
<PackageOutputPath>$(RepoRoot)artifacts\$(Version)\</PackageOutputPath>
</PropertyGroup>
<!-- Test projects -->
<PropertyGroup Condition="$(MSBuildProjectName.EndsWith('.Tests'))">
<IsTestProject>true</IsTestProject>
<OutputType>Exe</OutputType>
<IsPackable>false</IsPackable>
<GenerateDocumentationFile>false</GenerateDocumentationFile>
</PropertyGroup>
<!-- Exe / test / dev-tool projects do not publish XML docs -->
<PropertyGroup Condition="'$(OutputType)' == 'Exe' or '$(IsTestProject)' == 'true' or '$(IsPackable)' == 'false'">
<GenerateDocumentationFile>false</GenerateDocumentationFile>
</PropertyGroup>
</Project>