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

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <AddRazorSupportForMvc>true</AddRazorSupportForMvc>

    <BaseOutputPath>$(SolutionDir)bin\$(AssemblyName)</BaseOutputPath>
    <AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
    <AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>

    <Title>$(AssemblyName)</Title>
    <Authors>XerShade</Authors>
    <Company>XerShade's Corner</Company>
    <Product>Asreyion</Product>
    <Description>The core logic and framework library for Asreyion.</Description>
    <Copyright>© $(Authors) 2023 - 2024</Copyright>

    <RepositoryUrl>https://github.com/XerShade/Asreyion</RepositoryUrl>
    <RepositoryType>git</RepositoryType>

    <PackageProjectUrl>https://github.com/XerShade/Asreyion</PackageProjectUrl>
    <PackageReadmeFile>README.md</PackageReadmeFile>
    <PackageTags>asreyion,modular,website,creator,core</PackageTags>
    <PackageOutputPath>$(SolutionDir)pkg\$(AssemblyName)</PackageOutputPath>

    <AssemblyVersion>$(VersionPrefix)</AssemblyVersion>
    <FileVersion>$(VersionPrefix)</FileVersion>
    <Version>0.1.0.0</Version>
    <PackageLicenseFile>LICENSE</PackageLicenseFile>
  </PropertyGroup>

  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DebugSymbols>true</DebugSymbols>
    <DefineConstants>$(DefineConstants);DEBUG;TRACE</DefineConstants>
    <DebugType>full</DebugType>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DebugSymbols>false</DebugSymbols>
    <DefineConstants>$(DefineConstants);RELEASE;TRACE;</DefineConstants>
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
  </PropertyGroup>

  <PropertyGroup Condition=" '$(Platform)' == 'x64' or '$(Platform)' == 'AnyCPU' ">
    <DefineConstants>$(DefineConstants);X64</DefineConstants>
    <PlatformTarget>x64</PlatformTarget>
  </PropertyGroup>
  <PropertyGroup Condition=" '(Platform)' == 'x86' ">
    <DefineConstants>$(DefineConstants);X86</DefineConstants>
    <PlatformTarget>x86</PlatformTarget>
  </PropertyGroup>

  <ItemGroup>
    <None Include="..\..\LICENSE">
      <Pack>True</Pack>
      <PackagePath>content</PackagePath>
    </None>
    <None Include="..\..\README.md">
      <Pack>True</Pack>
      <PackagePath>content</PackagePath>
    </None>
  </ItemGroup>

  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="8.0.3" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.3" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.3" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.3">
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
      <PrivateAssets>all</PrivateAssets>
    </PackageReference>
  </ItemGroup>

  <ItemGroup>
    <None Update="appsettings.core.json">
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
  </ItemGroup>

  <ItemGroup>
    <Folder Include="Areas\Account\Views\Management\" />
    <Folder Include="Areas\Account\Views\Session\" />
    <Folder Include="Areas\User\Views\Profile\" />
  </ItemGroup>

</Project>