<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net8.0</TargetFramework>
    <AssemblyName>Arashi.Aoi</AssemblyName>
    <RootNamespace>Arashi.Aoi</RootNamespace>
    <PublishTrimmed>true</PublishTrimmed>
    <PublishSingleFile>true</PublishSingleFile>
    <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
    <ServerGarbageCollection>false</ServerGarbageCollection>
    <EnablePreviewFeatures>true</EnablePreviewFeatures>
    <LangVersion>preview</LangVersion>
  </PropertyGroup>

  <ItemGroup>
    <Content Include="appsettings.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
      <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
      <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
    </Content>
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" />
    <PackageReference Include="Kai.ARSoft.Tools.Net" Version="3.6.0" />
    <PackageReference Include="Kai.Jering.KeyValueStore" Version="1.1.8" />
    <PackageReference Include="LettuceEncrypt" Version="1.3.3" />
    <PackageReference Include="McMaster.Extensions.CommandLineUtils" Version="4.1.1" />
    <PackageReference Include="MaxMind.GeoIP2" Version="5.2.0" />
    <PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
    <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
    <PackageReference Include="System.Configuration.ConfigurationManager" Version="8.0.1" />
    <PackageReference Include="System.Runtime.Caching" Version="8.0.1" />
    <PackageReference Include="IPNetwork2" Version="3.0.667" />
  </ItemGroup>

  <ItemGroup>
    <RuntimeHostConfigurationOption Include="System.Globalization.Invariant" Value="true" />
    <TrimmerRootAssembly Include="System.Threading.Tasks" />
    <TrimmerRootAssembly Include="System.Threading.Tasks.Parallel" />
  </ItemGroup>

</Project>
