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

  <PropertyGroup>
    <TargetFramework>net8.0-windows</TargetFramework>
    <OutputType>Library</OutputType>
    <RootNamespace>StandardScene</RootNamespace>
    <AssemblyName>StandardScene</AssemblyName>
    <LangVersion>latest</LangVersion>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <Platforms>AnyCPU;x64</Platforms>
    <PlatformTarget>x64</PlatformTarget>
    <Deterministic>true</Deterministic>
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
    <ImplicitUsings>disable</ImplicitUsings>
    <Nullable>disable</Nullable>
    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
    <!-- 引用 net4.x / netstandard 程序集时抑制兼容性噪音警告；CA1416：TFM 已锁定 net8.0-windows，Windows-only API 调用为预期 -->
    <NoWarn>$(NoWarn);NU1701;CS0618;CS0612;MSB3277;CA1416</NoWarn>
    <!-- 强制优先用 Reference 的 HintPath 解析，避免 RAR 误选 build\ 等子目录下的同名旧 dll（CommonUsage 存在多版本） -->
    <AssemblySearchPaths>{HintPathFromItem};{TargetFrameworkDirectory};{RawFileName};{GAC}</AssemblySearchPaths>
  </PropertyGroup>

  <!-- 原 Compile Remove 的旧版 AbstractChainedDeliveryMission.cs 已物理删除（git 保留历史）；
       原死代码 MultiWheelLifterCar.cs / SongLingDeliveryViewer.Designer.cs / CarTypes\UselessCar.cs 及 FactoryTest.cs 已于 C0 物理删除。 -->

  <!-- 程序集引用：SimpleComposer.exe -> SimpleLite.dll；SimpleCore 配套本地产物 -->
  <ItemGroup>
    <Reference Include="CommonUsage">
      <HintPath>$(StandRefDir)CommonUsage.dll</HintPath>
    </Reference>
    <Reference Include="CycleGUI">
      <HintPath>$(StandRefDir)CycleGUI.dll</HintPath>
    </Reference>
    <Reference Include="LessokajiWeaverUtilities">
      <HintPath>$(StandRefDir)LessokajiWeaverUtilities.dll</HintPath>
    </Reference>
    <Reference Include="MDCSToolBox">
      <HintPath>$(StandRefDir)MDCSToolBox.dll</HintPath>
    </Reference>
    <Reference Include="SimpleCore">
      <HintPath>$(StandRefDir)SimpleCore.dll</HintPath>
    </Reference>
    <!-- CycleGUI：插件 UI 已从 WinForms 迁移到 CycleGUI（DeliveryViewer 等）。
         Private=false：宿主 SimpleLite 已在默认 ALC 加载 CycleGUI，插件仅编译期引用、不随产物分发，避免重复 DLL。 -->
    <Reference Include="leegKeys-sdk">
      <HintPath>$(LeegKeysSdkPath)</HintPath>
    </Reference>
    <Reference Include="SimpleLite">
      <HintPath>$(StandSimpleLiteDir)SimpleLite.dll</HintPath>
    </Reference>
    <Reference Include="Topaz">
      <HintPath>$(StandRefDir)Topaz.dll</HintPath>
    </Reference>
  </ItemGroup>

  <!-- NuGet 包（Nancy 对齐 SimpleLite 的 2.0.0） -->
  <ItemGroup>
    <PackageReference Include="DocumentFormat.OpenXml" Version="3.4.1" />
    <PackageReference Include="EasyModbusTCP" Version="5.6.0" />
    <PackageReference Include="IoTClient" Version="1.0.40" />
    <PackageReference Include="Jint" Version="4.6.3" />
    <PackageReference Include="MQTTnet" Version="4.3.6.1152" />
    <PackageReference Include="MQTTnet.Extensions.ManagedClient" Version="4.3.6.1152" />
    <PackageReference Include="Nancy" Version="2.0.0" />
    <PackageReference Include="Newtonsoft.Json" Version="13.0.4" />
    <PackageReference Include="System.Drawing.Common" Version="9.0.0" />
  </ItemGroup>

</Project>
