| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <Project>
- <PropertyGroup>
- <!-- 支持 .NET 6 及以上所有版本 -->
- <TargetFrameworks>net6.0;net7.0;net8.0;net9.0</TargetFrameworks>
- <!-- 公共设置 -->
- <ImplicitUsings>enable</ImplicitUsings>
- <Nullable>enable</Nullable>
- <LangVersion>latest</LangVersion>
- <!-- 生成文档 -->
- <GenerateDocumentationFile>true</GenerateDocumentationFile>
- <NoWarn>$(NoWarn);CS1591</NoWarn>
- <!-- 抑制 XML 注释警告 -->
- <NoWarn>$(NoWarn);CS1591;CS1570;CS1574</NoWarn>
- <!-- 抑制 TFM 不支持警告 -->
- <SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings>
- </PropertyGroup>
- <!-- Apq.Cfg 特定的 NuGet 包元数据 -->
- <PropertyGroup>
- <PackageReadmeFile>README.md</PackageReadmeFile>
- </PropertyGroup>
- <!-- 导入共享的版本检测逻辑 -->
- <PropertyGroup>
- <VersionsDir>$([System.IO.Path]::Combine($(MSBuildThisFileDirectory), 'versions'))</VersionsDir>
- </PropertyGroup>
- <Import Project="buildTools/Version.props" />
- <!-- 动态选择 README 文件:优先使用版本文件,内容不足5字符时回退到项目 README -->
- <Target Name="SelectReadmeFile" BeforeTargets="_GetPackageFiles" DependsOnTargets="DetectVersionFromFiles">
- <!-- 检查版本文件内容长度 -->
- <CheckFileLength FilePath="$(DetectedVersionFile)" MinLength="5">
- <Output TaskParameter="IsLongEnough" PropertyName="UseVersionFileAsReadme" />
- </CheckFileLength>
- <!-- 如果版本文件内容足够长,使用版本文件 -->
- <ItemGroup Condition="'$(UseVersionFileAsReadme)' == 'true'">
- <_PackageFiles Include="$(DetectedVersionFile)">
- <PackagePath>README.md</PackagePath>
- <BuildAction>None</BuildAction>
- </_PackageFiles>
- </ItemGroup>
- <!-- 否则使用项目目录下的 README.md -->
- <ItemGroup Condition="'$(UseVersionFileAsReadme)' != 'true'">
- <_PackageFiles Include="README.md">
- <PackagePath>README.md</PackagePath>
- <BuildAction>None</BuildAction>
- </_PackageFiles>
- </ItemGroup>
- <Message Text="README 来源: $(DetectedVersionFile) (版本文件)" Importance="high" Condition="'$(UseVersionFileAsReadme)' == 'true'" />
- <Message Text="README 来源: README.md (项目目录)" Importance="high" Condition="'$(UseVersionFileAsReadme)' != 'true'" />
- </Target>
- </Project>
|