Directory.Build.props 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <Project>
  2. <PropertyGroup>
  3. <!-- 支持 .NET 8/10 LTS 版本 -->
  4. <TargetFrameworks>net8.0;net10.0</TargetFrameworks>
  5. <!-- 公共设置 -->
  6. <ImplicitUsings>enable</ImplicitUsings>
  7. <Nullable>enable</Nullable>
  8. <LangVersion>latest</LangVersion>
  9. <!-- 生成文档 -->
  10. <GenerateDocumentationFile>true</GenerateDocumentationFile>
  11. <NoWarn>$(NoWarn);CS1591</NoWarn>
  12. <!-- 抑制 XML 注释警告 -->
  13. <NoWarn>$(NoWarn);CS1591;CS1570;CS1574</NoWarn>
  14. <!-- 抑制 TFM 不支持警告 -->
  15. <SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings>
  16. </PropertyGroup>
  17. <!-- Microsoft.Extensions.* 版本:根据目标框架选择匹配版本 -->
  18. <PropertyGroup Condition="'$(TargetFramework)' == 'net8.0'">
  19. <MicrosoftExtensionsVersion>8.0.0</MicrosoftExtensionsVersion>
  20. <MicrosoftAspNetCoreVersion>8.0.0</MicrosoftAspNetCoreVersion>
  21. </PropertyGroup>
  22. <PropertyGroup Condition="'$(TargetFramework)' == 'net10.0'">
  23. <MicrosoftExtensionsVersion>10.0.1</MicrosoftExtensionsVersion>
  24. <MicrosoftAspNetCoreVersion>10.0.1</MicrosoftAspNetCoreVersion>
  25. </PropertyGroup>
  26. <!-- Apq.Cfg 特定的 NuGet 包元数据 -->
  27. <PropertyGroup>
  28. <PackageReadmeFile>README.md</PackageReadmeFile>
  29. </PropertyGroup>
  30. <!-- 导入共享的版本检测逻辑 -->
  31. <PropertyGroup>
  32. <VersionsDir>$([System.IO.Path]::Combine($(MSBuildThisFileDirectory), 'versions'))</VersionsDir>
  33. </PropertyGroup>
  34. <Import Project="buildTools/Version.props" />
  35. <!-- 始终使用项目目录下的 README.md -->
  36. <ItemGroup>
  37. <None Include="README.md" Pack="true" PackagePath="\" />
  38. </ItemGroup>
  39. <!-- 动态选择 README 文件:优先使用版本文件,内容不足5字符时回退到项目 README(已禁用)
  40. <Target Name="SelectReadmeFile" BeforeTargets="_GetPackageFiles" DependsOnTargets="DetectVersionFromFiles">
  41. <CheckFileLength FilePath="$(DetectedVersionFile)" MinLength="5">
  42. <Output TaskParameter="IsLongEnough" PropertyName="UseVersionFileAsReadme" />
  43. </CheckFileLength>
  44. <ItemGroup Condition="'$(UseVersionFileAsReadme)' == 'true'">
  45. <_PackageFiles Include="$(DetectedVersionFile)">
  46. <PackagePath>README.md</PackagePath>
  47. <BuildAction>None</BuildAction>
  48. </_PackageFiles>
  49. </ItemGroup>
  50. <ItemGroup Condition="'$(UseVersionFileAsReadme)' != 'true'">
  51. <_PackageFiles Include="README.md">
  52. <PackagePath>README.md</PackagePath>
  53. <BuildAction>None</BuildAction>
  54. </_PackageFiles>
  55. </ItemGroup>
  56. <Message Text="README 来源: $(DetectedVersionFile) (版本文件)" Importance="high" Condition="'$(UseVersionFileAsReadme)' == 'true'" />
  57. <Message Text="README 来源: README.md (项目目录)" Importance="high" Condition="'$(UseVersionFileAsReadme)' != 'true'" />
  58. </Target>
  59. -->
  60. </Project>