<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0-windows</TargetFramework>
    <OutputType>WinExe</OutputType>
    <RootNamespace>PCL</RootNamespace>
    <MyType>Custom</MyType>
    <IsWebBootstrapper>false</IsWebBootstrapper>
    <StartupObject>PCL.Program</StartupObject>
    <PublishUrl>publish\</PublishUrl>
	<PublishSingleFile>true</PublishSingleFile>
	<RuntimeIdentifier Condition="'$(Platform)' == 'x64'">win-x64</RuntimeIdentifier>
	<RuntimeIdentifier Condition="'$(Platform)' == 'ARM64'">win-arm64</RuntimeIdentifier>
    <EnableWindowsTargeting>true</EnableWindowsTargeting>
    <MapFileExtensions>true</MapFileExtensions>
    <TargetCulture>zh-CN</TargetCulture>
    <UseApplicationTrust>false</UseApplicationTrust>
    <BootstrapperEnabled>true</BootstrapperEnabled>
    <LangVersion>default</LangVersion>
    <UseWPF>true</UseWPF>
    <Configurations>Beta;Debug;Release;CI</Configurations>
    <Platforms>AnyCPU;x64;ARM64</Platforms>
    <ImplicitUsings>enable</ImplicitUsings>
    <ApplicationManifest>app.manifest</ApplicationManifest>
    <ApplicationIcon>Images\icon.ico</ApplicationIcon>
    <AssemblyTitle>Plain Craft Launcher Community Edition</AssemblyTitle>
    <Description>Minecraft 启动器 (作者: 龙腾猫跃; 经社区二次开发版本)</Description>
    <Product>Plain Craft Launcher Community Edition</Product>
    <Copyright>Copyright © 龙腾猫跃 2016. All Rights Reserved.</Copyright>
    <AssemblyVersion>2.13.0.0</AssemblyVersion>
    <FileVersion>2.13.0.0</FileVersion>
    <NoWarn>
      41999;42016;42017;42018;42019;42020;42021;42022;42032;42036;42314;
      VSTHRD002;VSTHRD003;VSTHRD110;VSTHRD200
    </NoWarn>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
    <OutputPath>bin\Debug\</OutputPath>
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <DefineTrace>true</DefineTrace>
    <DefineConstants>DEBUG</DefineConstants>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)' == 'CI' Or '$(Configuration)' == 'DebugCI'">
    <OutputPath>bin\CI\</OutputPath>
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <DefineTrace>true</DefineTrace>
    <DefineConstants>DEBUGCI</DefineConstants>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)' == 'Release'">
    <OutputPath>bin\Release\</OutputPath>
    <DebugSymbols>false</DebugSymbols>
    <DebugType>none</DebugType>
    <Optimize>true</Optimize>
    <DefineConstants>RELEASE</DefineConstants>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)' == 'Beta'">
    <OutputPath>bin\Beta\</OutputPath>
    <DebugSymbols>false</DebugSymbols>
    <DebugType>none</DebugType>
    <Optimize>true</Optimize>
    <DefineConstants>BETA</DefineConstants>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="CacheCow.Client" Version="2.13.1" />
    <PackageReference Include="fNbt" Version="1.0.0" />
    <PackageReference Include="LiteDB" Version="5.0.21" />
    <PackageReference Include="Markdig.Wpf" Version="0.5.0.1" />
    <PackageReference Include="IPNetwork2" Version="3.1.775" />
    <PackageReference Include="NAudio" Version="2.2.1" />
    <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
    <PackageReference Include="System.Management" Version="9.0.9" />
    <PackageReference Include="System.Private.Uri" Version="4.3.2" />
    <PackageReference Include="System.Text.RegularExpressions" Version="4.3.1" />
    <PackageReference Include="TagLibSharp" Version="2.3.0" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\PCL.Core\PCL.Core.csproj" />
  </ItemGroup>
  <ItemGroup>
    <Import Include="Newtonsoft.Json.Linq" />
    <Import Include="System.IO" />
    <Import Include="System.Net" />
    <Import Include="System.Text" />
    <Import Include="System.Threading" />
    <Import Include="System.Windows" />
    <Import Include="System.Windows.Controls" />
    <Import Include="System.Windows.Data" />
    <Import Include="System.Windows.Documents" />
    <Import Include="System.Windows.Input" />
    <Import Include="System.Windows.Shapes" />
    <Import Include="System.Windows.Media" />
    <Import Include="System.Windows.Media.Imaging" />
  </ItemGroup>
  <!-- 信不过巨硬的智障代码，手动包含需要的文件 -->
  <PropertyGroup>
    <EnableDefaultItems>false</EnableDefaultItems>
    <EnableDefaultCompileItems>false</EnableDefaultCompileItems>
    <EnableDefaultEmbeddedResourceItems>false</EnableDefaultEmbeddedResourceItems>
    <EnableDefaultNoneItems>false</EnableDefaultNoneItems>
    <EnableDefaultApplicationDefinition>false</EnableDefaultApplicationDefinition>
    <EnableDefaultPageItems>false</EnableDefaultPageItems>
  </PropertyGroup>
  <ItemGroup>
    <Compile Include="**\*.vb" Exclude="bin\**;obj\**;publish\**" />
    <ApplicationDefinition Include="Application.xaml" Condition="Exists('Application.xaml')" />
    <ApplicationDefinition Include="App.xaml" Condition="Exists('App.xaml')" />
    <Page Include="**\*.xaml" Exclude="bin\**;obj\**;@(ApplicationDefinition)" />
    <Resource Include="Images\**" />
    <Resource Include="Resources\**" />
  </ItemGroup>
</Project>