新增LockyAOT项目,仅输出程序集信息,用于检测目标操作系统对net9aot的支持情况
大石头 authored at 2025-07-07 20:21:03
2.93 KiB
LuckyClover
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFrameworks>net8.0;net9.0-windows</TargetFrameworks>
    <AssemblyName>cloverAot</AssemblyName>
    <AssemblyTitle>幸运草</AssemblyTitle>
    <Description>检测并安装主流.NET运行时,协助打包发布。</Description>
    <Company>新生命开发团队</Company>
    <Copyright>©2002-2025 NewLife</Copyright>
    <VersionPrefix>1.2</VersionPrefix>
    <VersionSuffix>$([System.DateTime]::Now.ToString(`yyyy.MMdd`))</VersionSuffix>
    <Version>$(VersionPrefix).$(VersionSuffix)</Version>
    <FileVersion>$(Version)</FileVersion>
    <AssemblyVersion>$(VersionPrefix).*</AssemblyVersion>
    <Deterministic>false</Deterministic>
    <OutputPath>..\Bin</OutputPath>
    <!--<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>-->
    <LangVersion>latest</LangVersion>
    <ApplicationManifest>app.manifest</ApplicationManifest>
    <SupportedOSPlatformVersion>5.1</SupportedOSPlatformVersion>
  </PropertyGroup>

  <PropertyGroup Condition="'$(TargetFramework)'=='net9.0-windows'">
    <PublishAot>true</PublishAot>
    <PublishSingleFile>true</PublishSingleFile>
    <SelfContained>true</SelfContained>
    <PublishTrimmed>true</PublishTrimmed>
    <OptimizationPreference>Size</OptimizationPreference>
    <IlcOptimizationPreference>Speed</IlcOptimizationPreference>
    <DebugType Condition="$(Configuration)=='Release'">None</DebugType>
    <StripSymbols Condition="'$(StripSymbols)' == '' and $([MSBuild]::IsOSPlatform('Linux'))">true</StripSymbols>
    <!--NaiveAOT deployment 模式下,禁用以下选项
        https://learn.microsoft.com/en-us/dotnet/core/deploying/trimming/trimming-options?pivots=dotnet-7-0#trimming-framework-library-features-->
    <EnableUnsafeBinaryFormatterSerialization>false</EnableUnsafeBinaryFormatterSerialization>
    <EnableUnsafeUTF7Encoding>false</EnableUnsafeUTF7Encoding>
    <DebuggerSupport>false</DebuggerSupport>
    <StackTraceSupport>false</StackTraceSupport>
    <EventSourceSupport>false</EventSourceSupport>
    <HttpActivityPropagationSupport>false</HttpActivityPropagationSupport>
    <MetadataUpdaterSupport>false</MetadataUpdaterSupport>
    <!--启用全球化固定模式。
        程序不需要国际化支持,可以删除掉没有用的多语言支持及其资源文件
        https://github.com/dotnet/runtime/blob/main/docs/design/features/globalization-invariant-mode.md-->
    <InvariantGlobalization>true</InvariantGlobalization>
    <UseSystemResourceKeys>true</UseSystemResourceKeys>
    <!--以下是PublishAotCompressed组件支持的属性项,启用LZMA算法进行压缩-->
    <PublishLzmaCompressed>true</PublishLzmaCompressed>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="PublishAotCompressed" Version="1.0.5" />
    <PackageReference Include="VC-LTL" Version="5.2.1" />
    <PackageReference Include="YY-Thunks" Version="1.1.7" />
  </ItemGroup>
</Project>