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

    <PropertyGroup>
        <TargetFrameworks>net472;net9.0</TargetFrameworks>
    </PropertyGroup>

    <ItemGroup>
        <PackageReference Include="Autofac" Version="[4.9.4]" />
        <PackageReference Include="LiteNetLib" Version="1.2.0" />
        <PackageReference Include="Microsoft.Win32.Registry" Version="5.0.0" />
        <PackageReference Include="Mono.Nat" Version="3.0.4" />
        <PackageReference Include="Newtonsoft.Json" Version="12.0.3" NoWarn="NU1091;NU1092;NU1903;NU1904" />
        <PackageReference Include="Nitrox.BinaryPack" Version="2.0.1" />
        <PackageReference Include="Serilog" Version="4.2.0" />
        <PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" />
        <PackageReference Include="Serilog.Sinks.File" Version="6.0.0" />
        <PackageReference Include="Serilog.Sinks.Map" Version="2.0.0" />
        <PackageReference Include="System.Buffers" Version="4.6.1" />
        <PackageReference Include="System.IO.FileSystem.AccessControl" Version="5.0.0" />
        <PackageReference Include="System.Numerics.Vectors" Version="4.6.1" />
        <PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.1.2" />
        <PackageReference Include="System.Text.Json" Version="9.0.4" />
    </ItemGroup>

    <ItemGroup>
        <Reference Include="protobuf-net">
            <HintPath>..\Nitrox.Assets.Subnautica\protobuf-net.dll</HintPath>
        </Reference>
    </ItemGroup>

    <Choose>
        <When Condition="'$(TargetFramework)' == 'net472'">
            <ItemGroup>
                <!-- .NET Framework 4.7.2 specific references -->
                <Reference Include="System.Net.Http" />
                <PackageReference Include="System.ComponentModel" Version="4.3.0" />
                <PackageReference Include="System.IO.Compression" Version="4.3.0" />
            </ItemGroup>
        </When>
        <Otherwise>
            <ItemGroup>
                <!-- Modern .NET specific references -->
            </ItemGroup>
        </Otherwise>
    </Choose>
</Project>
