<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <!--
      netstandard2.0: compatible with modern .NET and .NET Framework 4.8 consumers.
      net48: native .NET Framework 4.8 build for legacy applications.
    -->
    <TargetFrameworks>netstandard2.0;net48</TargetFrameworks>
    <LangVersion>latest</LangVersion>
    <Nullable>disable</Nullable>
    <AssemblyName>IMSApiDotNet</AssemblyName>
    <RootNamespace>com.itac.mes.imsapi</RootNamespace>
    <Version>10.0.0.59</Version>
    <!-- Keep the legacy assembly version for binary/reference compatibility where possible. -->
    <AssemblyVersion>10.0.0.3</AssemblyVersion>
    <FileVersion>10.0.0.59</FileVersion>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>
    <!-- Generated API surface intentionally has no XML comments on every member. -->
    <NoWarn>$(NoWarn);1591</NoWarn>
  </PropertyGroup>

  <!--
    Some Visual Studio / SDK combinations do not resolve System.Net.Http from the
    netstandard2.0 reference set reliably in a multi-target project.  Keep the
    reference explicit for this target so HttpClient/HttpRequestMessage compile
    consistently.  This package is implementation-only and does not change the
    public IMSAPI surface.
  -->
  <ItemGroup Condition="'$(TargetFramework)' == 'netstandard2.0'">
    <PackageReference Include="System.Net.Http" Version="4.3.4" />
  </ItemGroup>

  <!--
    Allows SDK-style command-line builds of net48 even if the local .NET Framework
    Developer Pack is not installed. Visual Studio may use its installed targeting
    pack instead; PrivateAssets prevents this package from flowing to consumers.
  -->
  <ItemGroup Condition="'$(TargetFramework)' == 'net48'">
    <PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies.net48"
                      Version="1.0.3"
                      PrivateAssets="all" />
  </ItemGroup>
</Project>
