Files
manual_wpf/DwgExtractorManual.csproj
2025-07-23 13:16:00 +09:00

107 lines
4.5 KiB
XML

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net8.0-windows</TargetFramework>
<UseWPF>true</UseWPF>
<UseWindowsForms>True</UseWindowsForms>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<COMReference Include="Microsoft.Office.Interop.Excel">
<VersionMinor>9</VersionMinor>
<VersionMajor>1</VersionMajor>
<Guid>00020813-0000-0000-c000-000000000046</Guid>
<Lcid>0</Lcid>
<WrapperTool>tlbimp</WrapperTool>
<Isolated>false</Isolated>
<EmbedInteropTypes>true</EmbedInteropTypes>
</COMReference>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Npgsql" Version="9.0.1" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
</ItemGroup>
<ItemGroup>
<Reference Include="TD_Mgd_23.12_16">
<HintPath>D:\dev_Net8_git\trunk\DLL\Teigha\vc16_amd64dll_23.12SP2\TD_Mgd_23.12_16.dll</HintPath>
<Private>true</Private>
</Reference>
</ItemGroup>
<!-- Copy all Teigha DLLs including native dependencies -->
<ItemGroup>
<None Include="D:\dev_Net8_git\trunk\DLL\Teigha\vc16_amd64dll_23.12SP2\*.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<!-- Define fletimageanalysis files as content to be copied -->
<!-- Separate JSON files and other files for different copy behaviors -->
<ItemGroup>
<!-- JSON files - always copy as new -->
<FletImageAnalysisJsonFiles Include="fletimageanalysis\**\*.json" />
<!-- Other files - incremental copy -->
<FletImageAnalysisOtherFiles Include="fletimageanalysis\**\*" Exclude="fletimageanalysis\**\*.json;fletimageanalysis\**\*.pyc;fletimageanalysis\**\__pycache__\**;fletimageanalysis\**\*.tmp;fletimageanalysis\**\*.log;fletimageanalysis\**\*.git\**" />
</ItemGroup>
<!-- Enhanced copy target that handles both incremental updates and missing folder scenarios -->
<Target Name="CopyFletImageAnalysisFolder" AfterTargets="Build">
<!-- Always show what we're doing -->
<Message Text="Copying fletimageanalysis folder contents..." Importance="normal" />
<Message Text="JSON files to copy: @(FletImageAnalysisJsonFiles->Count())" Importance="normal" />
<Message Text="Other files to copy: @(FletImageAnalysisOtherFiles->Count())" Importance="normal" />
<!-- Copy JSON files - ALWAYS as new (SkipUnchangedFiles=false) -->
<Copy
SourceFiles="@(FletImageAnalysisJsonFiles)"
DestinationFiles="@(FletImageAnalysisJsonFiles->'$(OutDir)%(RecursiveDir)%(Filename)%(Extension)')"
SkipUnchangedFiles="false"
OverwriteReadOnlyFiles="true" />
<Message Text="JSON files copied (always as new): @(FletImageAnalysisJsonFiles->Count())" Importance="high" />
<!-- Copy other files - incrementally (SkipUnchangedFiles=true) -->
<Copy
SourceFiles="@(FletImageAnalysisOtherFiles)"
DestinationFiles="@(FletImageAnalysisOtherFiles->'$(OutDir)%(RecursiveDir)%(Filename)%(Extension)')"
SkipUnchangedFiles="true"
OverwriteReadOnlyFiles="true" />
<Message Text="Other files copied (incremental): @(FletImageAnalysisOtherFiles->Count())" Importance="normal" />
<!-- Verify critical JSON file exists after copy -->
<Error Condition="!Exists('$(OutDir)fletimageanalysis\mapping_table_json.json')"
Text="Critical file missing after copy: mapping_table_json.json" />
<Message Text="fletimageanalysis folder copy completed successfully." Importance="high" />
</Target>
<!-- Additional target to ensure folder is copied during publish -->
<Target Name="CopyFletImageAnalysisFolderOnPublish" AfterTargets="Publish">
<Message Text="Copying fletimageanalysis folder for publish..." Importance="high" />
<!-- Copy JSON files - always as new -->
<Copy
SourceFiles="@(FletImageAnalysisJsonFiles)"
DestinationFiles="@(FletImageAnalysisJsonFiles->'$(PublishDir)%(RecursiveDir)%(Filename)%(Extension)')"
SkipUnchangedFiles="false"
OverwriteReadOnlyFiles="true" />
<!-- Copy other files - always as new for publish -->
<Copy
SourceFiles="@(FletImageAnalysisOtherFiles)"
DestinationFiles="@(FletImageAnalysisOtherFiles->'$(PublishDir)%(RecursiveDir)%(Filename)%(Extension)')"
SkipUnchangedFiles="false"
OverwriteReadOnlyFiles="true" />
<Message Text="fletimageanalysis folder publish copy completed." Importance="high" />
</Target>
</Project>