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

  <PropertyGroup>
    <TargetFrameworks>netstandard2.0;netstandard2.1;net6.0;net7.0</TargetFrameworks>
    <Description>Windows API low level bindings.</Description>
    
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
    <EnablePreviewFeatures>True</EnablePreviewFeatures>
    <NoWarn>0419;$(NoWarn)</NoWarn>
  </PropertyGroup>

  <ItemGroup>
    <None Include="..\..\LICENSE" PackagePath="" Pack="true" />

    <Using Include="System.Numerics" />
    <Using Include="System.Diagnostics" />
    <Using Include="System.Runtime.CompilerServices" />
    <Using Include="System.Runtime.InteropServices" />
    <Using Include="System.Diagnostics.CodeAnalysis" />
    <Using Include="Win32.Numerics" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFramework)' == 'net7.0'">
    <Compile Remove="UnscopedRefAttribute.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
    <PackageReference Include="System.Memory" Version="4.5.4" />
    <PackageReference Include="Microsoft.Bcl.HashCode" Version="1.1.1" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0' OR '$(TargetFramework)' == 'netstandard2.1'">
    <PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.0.0" />
  </ItemGroup>

</Project>
