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

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
    <RootNamespace>ExperionCrawler</RootNamespace>
    <AssemblyName>ExperionCrawler</AssemblyName>
    <RuntimeIdentifier>linux-arm64</RuntimeIdentifier> <!-- linux-amd64 일반 pc에서 -->
    <SelfContained>false</SelfContained>
  </PropertyGroup>

  <ItemGroup>
    <Compile Include="../../src/Core/**/*.cs" />
    <Compile Include="../../src/Infrastructure/**/*.cs" />
    <!-- OPC UA : 기존 버전 준수 -->
    <PackageReference Include="OPCFoundation.NetStandard.Opc.Ua.Core" Version="1.5.378.134" />
    <PackageReference Include="OPCFoundation.NetStandard.Opc.Ua.Client" Version="1.5.378.134" />
    <PackageReference Include="OPCFoundation.NetStandard.Opc.Ua.Configuration" Version="1.5.378.134" />
    <PackageReference Include="OPCFoundation.NetStandard.Opc.Ua.Server" Version="1.5.378.134" />                
    <!-- CSV -->
    <PackageReference Include="CsvHelper" Version="33.0.1" />
    <!-- PostgreSQL + TimeScaleDB (TimeScaleDB는 PostgreSQL 확장, 별도 패키지 불필요) -->
    <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.13">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <!-- Swagger (개발 편의) -->
    <PackageReference Include="Swashbuckle.AspNetCore" Version="6.8.1" />
    <!-- P&ID 추출 -->
    <PackageReference Include="netDxf" Version="2022.11.2" />
    <PackageReference Include="PdfPig" Version="0.1.9" />
    <!-- Excel 내보내기 -->
    <PackageReference Include="EPPlus" Version="7.4.2" />
    <!-- 관리자 비밀번호 해시 (Argon2id) -->
    <PackageReference Include="Konscious.Security.Cryptography.Argon2" Version="1.3.1" />
  </ItemGroup>

</Project>
