<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net8.0-windows</TargetFramework>
    <UseWPF>true</UseWPF>
    <RootNamespace>XplorePlane</RootNamespace>
    <AssemblyName>XplorePlane</AssemblyName>
  </PropertyGroup>
  
  <ItemGroup>
    <Compile Remove="MainWindow.xaml.cs" />
  </ItemGroup>
  
  <ItemGroup>
    <None Remove="XplorePlane.csproj.Backup.tmp" />
  </ItemGroup>
  
  <ItemGroup>
    <Page Remove="MainWindow.xaml" />
  </ItemGroup>
  
  <!-- NuGet 包引用 -->
  <ItemGroup>
    <PackageReference Include="Prism.DryIoc" Version="9.0.537" />
    <PackageReference Include="Fluent.Ribbon" Version="9.0.0" />
    
    <!-- 硬件库依赖的 NuGet 包 -->
    <PackageReference Include="Serilog" Version="4.3.1" />
    <PackageReference Include="Serilog.Sinks.Console" Version="6.1.1" />
    <PackageReference Include="Serilog.Sinks.File" Version="7.0.0" />
    <PackageReference Include="Serilog.Sinks.Debug" Version="3.0.0" />
    <PackageReference Include="System.Data.SQLite" Version="1.0.118" />
    <PackageReference Include="System.Configuration.ConfigurationManager" Version="8.0.0" />
  </ItemGroup>
  
  <!-- DLL 引用 -->
  <ItemGroup>
    <!-- 硬件库 DLL 引用 -->
    <Reference Include="XplorePlane.Common">
      <HintPath>Libs\Hardware\XplorePlane.Common.dll</HintPath>
      <Private>True</Private>
    </Reference>
    
    <Reference Include="XplorePlane.Hardware.RaySource">
      <HintPath>Libs\Hardware\XplorePlane.Hardware.RaySource.dll</HintPath>
      <Private>True</Private>
    </Reference>
    
    <Reference Include="XplorePlane.Hardware.Detector">
      <HintPath>Libs\Hardware\XplorePlane.Hardware.Detector.dll</HintPath>
      <Private>True</Private>
    </Reference>
    
    <Reference Include="XplorePlane.Hardware.PLC">
      <HintPath>Libs\Hardware\XplorePlane.Hardware.PLC.dll</HintPath>
      <Private>True</Private>
    </Reference>
    
    <!-- 原生依赖库引用 -->
  </ItemGroup>
  <ItemGroup>
    <Reference Include="Telerik.Windows.Controls">
      <HintPath>..\lib\RCWPF\2024.1.408.70.NoXaml\Telerik.Windows.Controls.dll</HintPath>
    </Reference>
    <Reference Include="Telerik.Windows.Controls.Chart">
      <HintPath>..\lib\RCWPF\2024.1.408.70.NoXaml\Telerik.Windows.Controls.Chart.dll</HintPath>
    </Reference>
    <Reference Include="Telerik.Windows.Controls.GridView">
      <HintPath>..\lib\RCWPF\2024.1.408.70.NoXaml\Telerik.Windows.Controls.GridView.dll</HintPath>
    </Reference>
    <Reference Include="Telerik.Windows.Controls.ImageEditor">
      <HintPath>..\lib\RCWPF\2024.1.408.70.NoXaml\Telerik.Windows.Controls.ImageEditor.dll</HintPath>
    </Reference>
    <Reference Include="Telerik.Windows.Controls.Input">
      <HintPath>..\lib\RCWPF\2024.1.408.70.NoXaml\Telerik.Windows.Controls.Input.dll</HintPath>
    </Reference>
    <Reference Include="Telerik.Windows.Controls.Navigation">
      <HintPath>..\lib\RCWPF\2024.1.408.70.NoXaml\Telerik.Windows.Controls.Navigation.dll</HintPath>
    </Reference>
    <Reference Include="Telerik.Windows.Controls.RibbonView">
      <HintPath>..\lib\RCWPF\2024.1.408.70.NoXaml\Telerik.Windows.Controls.RibbonView.dll</HintPath>
    </Reference>
    <Reference Include="Telerik.Windows.Controls.RichTextBox">
      <HintPath>..\lib\RCWPF\2024.1.408.70.NoXaml\Telerik.Windows.Controls.RichTextBox.dll</HintPath>
    </Reference>
    <Reference Include="Telerik.Windows.Controls.Spreadsheet">
      <HintPath>..\lib\RCWPF\2024.1.408.70.NoXaml\Telerik.Windows.Controls.Spreadsheet.dll</HintPath>
    </Reference>
    <Reference Include="Telerik.Windows.Data">
      <HintPath>..\lib\RCWPF\2024.1.408.70.NoXaml\Telerik.Windows.Data.dll</HintPath>
    </Reference>
    <Reference Include="Telerik.Windows.Documents.Core">
      <HintPath>..\lib\RCWPF\2024.1.408.70.NoXaml\Telerik.Windows.Documents.Core.dll</HintPath>
    </Reference>
    <Reference Include="Telerik.Windows.Documents.Fixed">
      <HintPath>..\lib\RCWPF\2024.1.408.70.NoXaml\Telerik.Windows.Documents.Fixed.dll</HintPath>
    </Reference>
    <Reference Include="Telerik.Windows.Documents.Spreadsheet">
      <HintPath>..\lib\RCWPF\2024.1.408.70.NoXaml\Telerik.Windows.Documents.Spreadsheet.dll</HintPath>
    </Reference>
    <Reference Include="Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml">
      <HintPath>..\lib\RCWPF\2024.1.408.70.NoXaml\Telerik.Windows.Documents.Spreadsheet.FormatProviders.OpenXml.dll</HintPath>
    </Reference>
    <Reference Include="Telerik.Windows.Documents.Spreadsheet.FormatProviders.Pdf">
      <HintPath>..\lib\RCWPF\2024.1.408.70.NoXaml\Telerik.Windows.Documents.Spreadsheet.FormatProviders.Pdf.dll</HintPath>
    </Reference>
    <Reference Include="Telerik.Windows.Themes.Office2013">
      <HintPath>..\lib\RCWPF\2024.1.408.70.NoXaml\Telerik.Windows.Themes.Office2013.dll</HintPath>
    </Reference>
    <Reference Include="Telerik.Windows.Zip">
      <HintPath>..\lib\RCWPF\2024.1.408.70.NoXaml\Telerik.Windows.Zip.dll</HintPath>
    </Reference>
  </ItemGroup>
  
  <!-- 确保 DLL 和原生库复制到输出目录 -->
  <ItemGroup>
    <!-- 硬件库 DLL -->
    <None Include="Libs\Hardware\*.dll" Condition="Exists('Libs\Hardware')">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Include="Libs\Hardware\*.pdb" Condition="Exists('Libs\Hardware')">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    
    <!-- 原生依赖库 -->
    <None Include="Libs\Native\*.dll" Condition="Exists('Libs\Native')">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    
    <!-- 配置文件 -->
    <None Update="App.config">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
  </ItemGroup>
</Project>