Repository navigation
Expand file tree
/
Copy pathDirectory.Build.props
More file actions
139 lines (125 loc) · 8.05 KB
/
Copy pathDirectory.Build.props
File metadata and controls
139 lines (125 loc) · 8.05 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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<Project>
<PropertyGroup>
<RepoRoot>$(MSBuildThisFileDirectory)</RepoRoot>
<GenerateAssemblyInfoCache>false</GenerateAssemblyInfoCache>
<TargetFramework>net10.0</TargetFramework>
<PlatformTarget>AnyCPU</PlatformTarget>
<Platform Condition="'$(Platform)' == ''">AnyCPU</Platform>
<RuntimeIdentifier Condition="'$(RuntimeIdentifier)' == '' and '$(OS)' == 'Windows_NT'">win-x64</RuntimeIdentifier>
<RuntimeIdentifier Condition="'$(RuntimeIdentifier)' == '' and '$(OS)' == 'Unix'">linux-x64</RuntimeIdentifier>
<DefineConstants Condition="'$(OS)' == 'Windows_NT'">$(DefineConstants);WINDOWS</DefineConstants>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<WarningsAsErrors />
<WarningsNotAsErrors />
<NoWarn>$(NoWarn);CS1591;VSTHRD002;VSTHRD100;VSTHRD101;VSTHRD103;VSTHRD105;VSTHRD110;VSTHRD200</NoWarn>
<InvariantGlobalization>true</InvariantGlobalization>
<SatelliteResourceLanguages>zh-CN</SatelliteResourceLanguages>
<!-- 分析器开关:/p:JccAnalyzers=false 禁用自定义分析器(AotSafety+CodeFixes),加速迭代编译 -->
<JccAnalyzers Condition="'$(JccAnalyzers)' == ''">true</JccAnalyzers>
<!-- NET分析器开关:/p:EnableNETAnalyzers=false 禁用内置Roslyn分析器,节省~10s -->
<EnableNETAnalyzers Condition="'$(EnableNETAnalyzers)' == ''">true</EnableNETAnalyzers>
<AnalysisLevel Condition="'$(AnalysisLevel)' == ''">latest</AnalysisLevel>
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
<!-- 生成文件输出开关:/p:EmitCompilerGeneratedFiles=false 禁用生成文件写磁盘,节省IO -->
<EmitCompilerGeneratedFiles Condition="'$(EmitCompilerGeneratedFiles)' == ''">true</EmitCompilerGeneratedFiles>
<Company>JoinCode</Company>
<Product>JoinCode</Product>
<Copyright>Copyright © JoinCode 2025</Copyright>
<VersionPrefix>1.0.0</VersionPrefix>
<VersionSuffix Condition="'$(CI_BUILD)' == 'true'">ci-$(BUILD_NUMBER)</VersionSuffix>
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
<OutputPath>$(MSBuildThisFileDirectory)artifacts\bin\$(MSBuildProjectName)\$(Configuration)\</OutputPath>
<BaseIntermediateOutputPath>$(MSBuildThisFileDirectory)artifacts\obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
<IntermediateOutputPath>$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath>
<UseSharedCompilation>true</UseSharedCompilation>
<UseArtifactsOutput>false</UseArtifactsOutput>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<GenerateDocumentationFile>false</GenerateDocumentationFile>
<DocumentationFile />
<DebugType>none</DebugType>
<DebugSymbols>false</DebugSymbols>
<AllowedReferenceRelatedFileExtensions>.dll</AllowedReferenceRelatedFileExtensions>
</PropertyGroup>
<!-- === AOT / 裁剪 统一配置 === -->
<!-- 源码项目(非 Tests、非 Generator):启用 AOT 兼容性分析 -->
<PropertyGroup Condition="!$(MSBuildProjectName.ToUpperInvariant().Contains('.TESTS')) AND '$(EnforceExtendedAnalyzerRules)' != 'true' AND '$(ExcludeJccAnalyzers)' != 'true'">
<IsAotCompatible>true</IsAotCompatible>
</PropertyGroup>
<!-- 源码项目 Release:启用裁剪分析 + AOT 发布 -->
<PropertyGroup Condition="!$(MSBuildProjectName.ToUpperInvariant().Contains('.TESTS')) AND '$(EnforceExtendedAnalyzerRules)' != 'true' AND '$(Configuration)' == 'Release'">
<PublishAot>true</PublishAot>
<TrimMode>full</TrimMode>
</PropertyGroup>
<!-- Exe 项目 Release:高性能优化 -->
<PropertyGroup Condition="'$(OutputType)' == 'Exe' AND '$(Configuration)' == 'Release'">
<StackTraceSupport>false</StackTraceSupport>
<UseWindowsThreadPool>true</UseWindowsThreadPool>
<MetricsSupport>false</MetricsSupport>
</PropertyGroup>
<!-- Exe 项目 Release:全球化不变模式 -->
<ItemGroup Condition="'$(OutputType)' == 'Exe' AND '$(Configuration)' == 'Release'">
<RuntimeHostConfigurationOption Include="System.Globalization.Invariant" Value="true" />
</ItemGroup>
<PropertyGroup>
<MicrosoftExtensionsVersion>10.0.9</MicrosoftExtensionsVersion>
<MicrosoftExtensionsDependencyInjectionVersion>10.0.9</MicrosoftExtensionsDependencyInjectionVersion>
<MicrosoftExtensionsLoggingAbstractionsVersion>10.0.9</MicrosoftExtensionsLoggingAbstractionsVersion>
<SemanticKernelVersion>1.77.0</SemanticKernelVersion>
<MicrosoftNETTestSdkVersion>18.7.0</MicrosoftNETTestSdkVersion>
<XunitVersion>2.9.3</XunitVersion>
<XunitRunnerVisualStudioVersion>3.1.5</XunitRunnerVisualStudioVersion>
<MoqVersion>4.20.72</MoqVersion>
<FluentAssertionsVersion>8.10.0</FluentAssertionsVersion>
<XunitSkippableFactVersion>1.5.61</XunitSkippableFactVersion>
<SystemCommandLineVersion>2.0.9</SystemCommandLineVersion>
<YamlDotNetVersion>18.1.0</YamlDotNetVersion>
<SharpZipLibVersion>1.4.2</SharpZipLibVersion>
<SystemIOHashingVersion>10.0.9</SystemIOHashingVersion>
<SystemRuntimeCachingVersion>10.0.9</SystemRuntimeCachingVersion>
<DockerDotNetVersion>3.125.15</DockerDotNetVersion>
<LiteDBVersion>5.0.21</LiteDBVersion>
<MicrosoftCodeAnalysisVersion>5.6.0</MicrosoftCodeAnalysisVersion>
<ModelContextProtocolVersion>1.4.0</ModelContextProtocolVersion>
<BenchmarkDotNetVersion>0.15.8</BenchmarkDotNetVersion>
<SkiaSharpVersion>4.151.1</SkiaSharpVersion>
<DocnetCoreVersion>2.6.0</DocnetCoreVersion>
<QRCoderVersion>1.8.0</QRCoderVersion>
<JccComponentPackageVersion>1.0.0</JccComponentPackageVersion>
<MicrosoftExtensionsTimeProviderTestingVersion>10.1.0</MicrosoftExtensionsTimeProviderTestingVersion>
<AvaloniaVersion>12.1.3</AvaloniaVersion>
<DockVersion>12.1.3</DockVersion>
<CommunityToolkitMvvmVersion>8.4.0</CommunityToolkitMvvmVersion>
<MarkdigVersion>1.3.2</MarkdigVersion>
<WebView2Version>1.0.4258.31</WebView2Version>
<CsWinRTVersion>2.3.1</CsWinRTVersion>
</PropertyGroup>
<ItemGroup>
<CompilerVisibleProperty Include="ProjectType" />
<Using Include="System.Collections.Concurrent" />
<Using Include="System.Diagnostics" />
<Using Include="System.Text.Json" />
<Using Include="System.Text.Json.Serialization" />
<Using Include="System.Text.Json.Serialization.Metadata" />
</ItemGroup>
<!-- 全局 Structura 引用:所有 net10.0 项目自动引用瑞士表/HAMT 基建 + 命名空间(含 net10.0-windows 平台变体) -->
<ItemGroup Condition="$(TargetFramework.StartsWith('net10.0')) and '$(ExcludeStructura)' != 'true'">
<Using Include="Structura.Collections" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.StartsWith('net10.0')) and '$(ExcludeStructura)' != 'true' and '$(UsePackedComponents)' != 'true'">
<ProjectReference Include="$(RepoRoot)modules/collections/structura/Structura.csproj" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.StartsWith('net10.0')) and '$(ExcludeStructura)' != 'true' and '$(UsePackedComponents)' == 'true'">
<PackageReference Include="JoinCode.Structura" Version="$(JccComponentPackageVersion)" />
</ItemGroup>
<!-- 全局 Analyzer 引用:所有 net10.0 项目自动获得 JCC 诊断和代码修复(含 net10.0-windows 平台变体) -->
<!-- 排除: 分析器自身项目(EnforceExtendedAnalyzerRules)、测试辅助项目(ExcludeJccAnalyzers) -->
<!-- 开关: /p:JccAnalyzers=false 禁用自定义分析器,加速迭代编译 -->
<ItemGroup Condition="$(TargetFramework.StartsWith('net10.0')) and '$(EnforceExtendedAnalyzerRules)' != 'true' and '$(ExcludeJccAnalyzers)' != 'true' and '$(JccAnalyzers)' == 'true'">
<ProjectReference Include="$(MSBuildThisFileDirectory)modules/generators/aot_safety.generator/AotSafety.Generator.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
<ProjectReference Include="$(MSBuildThisFileDirectory)modules/generators/code_fixes/CodeFixes.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
</ItemGroup>
</Project>