2024-10-14 18:54:30 +02:00
<Project Sdk= "Microsoft.NET.Sdk" >
2024-10-14 21:27:12 +02:00
<PropertyGroup >
<OutputType > WinExe</OutputType>
2026-02-04 18:38:44 +01:00
<TargetFramework > net10.0-windows</TargetFramework>
2024-10-14 21:27:12 +02:00
<Nullable > enable</Nullable>
<ImplicitUsings > enable</ImplicitUsings>
<UseWindowsForms > true</UseWindowsForms>
2026-02-15 11:14:19 +01:00
<UseWPF > true</UseWPF>
2024-10-14 21:27:12 +02:00
<ProduceReferenceAssembly > False</ProduceReferenceAssembly>
2025-07-28 14:46:45 +02:00
<AssemblyVersion > 3.1.2.0</AssemblyVersion>
<FileVersion > 3.1.2.0</FileVersion>
<InformationalVersion > 3.1.2</InformationalVersion>
<Version > 3.1.2</Version>
2026-02-14 22:18:56 +01:00
<!-- Default assembly name for regular builds -->
<AssemblyName > ImageCatalog</AssemblyName>
2025-07-23 15:08:25 +02:00
<LangVersion > default</LangVersion>
<ApplicationIcon > Logo.ico</ApplicationIcon>
2024-10-14 21:56:40 +02:00
</PropertyGroup>
2025-07-23 15:24:36 +02:00
<PropertyGroup >
<RuntimeIdentifier > win-x64</RuntimeIdentifier>
</PropertyGroup>
2024-10-14 21:56:40 +02:00
<PropertyGroup >
<UpdateVersionProperties > true</UpdateVersionProperties>
2024-10-14 21:27:12 +02:00
</PropertyGroup>
2021-03-04 10:44:09 +01:00
<PropertyGroup Condition= " '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " >
2024-10-14 21:27:12 +02:00
<DebugType > embedded</DebugType>
</PropertyGroup>
<PropertyGroup Condition= "'$(Configuration)|$(Platform)'=='Release|AnyCPU'" >
<DebugType > embedded</DebugType>
2021-03-04 17:26:08 +01:00
</PropertyGroup>
2021-03-04 10:44:09 +01:00
<ItemGroup >
2024-10-14 19:54:29 +02:00
<None Update= "Properties\Settings.settings" >
<Generator > SettingsSingleFileGenerator</Generator>
<LastGenOutput > Settings.Designer.cs</LastGenOutput>
</None>
2021-03-04 10:44:09 +01:00
</ItemGroup>
<ItemGroup >
<Folder Include= "Sorgenti\" />
</ItemGroup>
<ItemGroup >
2024-10-14 18:54:30 +02:00
<ProjectReference Include= "..\MaddoShared\MaddoShared.csproj" />
2021-03-04 10:44:09 +01:00
</ItemGroup>
2024-10-14 18:54:30 +02:00
<ItemGroup >
2026-02-16 18:32:04 +01:00
<PackageReference Include= "AIFotoONLUS.Core" Version= "0.1.1" />
2026-02-04 23:16:06 +01:00
<PackageReference Include= "AutoMapper" Version= "16.0.0" />
2026-02-14 22:18:56 +01:00
<PackageReference Include= "Microsoft.Extensions.DependencyInjection" Version= "10.0.3" />
<PackageReference Include= "Microsoft.Extensions.Logging" Version= "10.0.3" />
<PackageReference Include= "Microsoft.Extensions.Logging.Console" Version= "10.0.3" />
<PackageReference Include= "GitVersion.MsBuild" Version= "6.5.1" PrivateAssets= "all" />
2024-10-14 19:54:29 +02:00
<PackageReference Include= "Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers" Version= "0.4.421302" >
2024-10-14 18:54:30 +02:00
<PrivateAssets > all</PrivateAssets>
</PackageReference>
</ItemGroup>
2026-02-15 00:03:16 +01:00
<!-- If GitVersion ran and produced values, prefer them for assembly/file/informational version
so the built assembly exposes FullSemVer for runtime and the publish rename uses the same value. -->
<PropertyGroup >
<!-- AssemblyVersion uses AssemblySemVer when available (three - part) -->
<AssemblyVersion Condition= "'$(GitVersion_AssemblySemVer)' != ''" > $(GitVersion_AssemblySemVer)</AssemblyVersion>
<!-- FileVersion uses GitVersion FileVersion when available -->
<FileVersion Condition= "'$(GitVersion_FileVersion)' != ''" > $(GitVersion_FileVersion)</FileVersion>
<!-- Prefer FullSemVer for informational version -->
<InformationalVersion Condition= "'$(GitVersion_FullSemVer)' != ''" > $(GitVersion_FullSemVer)</InformationalVersion>
</PropertyGroup>
2024-10-14 19:54:29 +02:00
<ItemGroup >
<Compile Update= "Properties\Settings.Designer.cs" >
<DesignTimeSharedInput > True</DesignTimeSharedInput>
<AutoGen > True</AutoGen>
<DependentUpon > Settings.settings</DependentUpon>
</Compile>
</ItemGroup>
2025-07-28 09:15:45 +02:00
<ItemGroup >
<EmbeddedResource Update= "MainForm.resx" >
<DependentUpon > MainForm.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
2024-10-14 18:54:30 +02:00
<PropertyGroup />
2026-02-14 22:18:56 +01:00
2026-02-15 00:03:16 +01:00
<!-- When building inside Visual Studio (which runs .NET Framework MSBuild), the GitVersion.MsBuild
task (net8.0) may fail. Run the GitVersion CLI as a fallback to produce obj/gitversion.json so
subsequent targets can consume the same values. Developers should install the global tool:
dotnet tool install __global GitVersion.Tool __version 6.5.1
-->
<Target Name= "RunGitVersionCliForVisualStudio" BeforeTargets= "GenerateAssemblyInfo" Condition= "'$(BuildingInsideVisualStudio)' == 'true'" >
<Message Text= "Building inside Visual Studio: attempting to run GitVersion CLI to generate obj\gitversion.json (if `dotnet-gitversion` is installed)." Importance= "High" />
<!-- Try the typical global tool command. ContinueOnError=true so VS build doesn't fail if CLI is not installed. -->
<Exec Command= "dotnet-gitversion -output file -outputfile "$(ProjectDir)obj\gitversion.json"" ContinueOnError= "true" />
<!-- Also try 'dotnet tool run' in case a local tool manifest is used. -->
<Exec Command= "dotnet tool run GitVersion.Tool -- -output file -outputfile "$(ProjectDir)obj\gitversion.json"" ContinueOnError= "true" />
</Target>
2026-02-14 22:18:56 +01:00
<!-- After publish, rename the produced executable to ImageCatalog.<year>.<major>.<minor>.<build>.<revision>.<ext>
The destination extension is taken from the actual produced file (exe or dll).
-->
<Target Name= "RenamePublishedExeWithYearAndVersion" AfterTargets= "Publish" Condition= "'$(PublishDir)' != ''" >
<PropertyGroup >
<_PublishYear > $([System.DateTime]::Now.ToString("yyyy"))</_PublishYear>
2026-02-15 00:03:16 +01:00
<!-- Prefer GitVersion FullSemVer, then FileVersion, then AssemblyVersion -->
<_Ver Condition= "'$(GitVersion_FullSemVer)' != ''" > $(GitVersion_FullSemVer)</_Ver>
<_Ver Condition= "'$(GitVersion_FullSemVer)' == ''" > $(FileVersion)</_Ver>
2026-02-14 22:18:56 +01:00
<_Ver Condition= "'$(_Ver)' == ''" > $(AssemblyVersion)</_Ver>
2026-02-15 00:03:16 +01:00
<!-- Normalize to avoid spaces but keep plus signs for pre - release build metadata; replace spaces with underscore -->
2026-02-14 22:18:56 +01:00
<_VerSanitized > $([System.String]::Copy('$(_Ver)'))</_VerSanitized>
<_VerSanitized > $([System.String]::Copy('$(_VerSanitized)').Replace(' ', '_'))</_VerSanitized>
<_NewExeNameBase > ImageCatalog.$(_PublishYear).$(_VerSanitized)</_NewExeNameBase>
</PropertyGroup>
<Message Text= "Attempting to find published assembly to rename to $(_NewExeNameBase).* in $(PublishDir)" Importance= "High" />
<!-- Candidate locations in order of likelihood -->
<PropertyGroup >
<_Candidate1 > $(PublishDir)$(TargetFileName)</_Candidate1>
<_Candidate2 > $(PublishDir)$(TargetName)$(TargetExt)</_Candidate2>
<_Candidate3 > $(PublishDir)$(TargetName).exe</_Candidate3>
<_Candidate4 > $(PublishDir)$(AssemblyName)$(TargetExt)</_Candidate4>
<_Candidate5 > $(PublishDir)$(AssemblyName).exe</_Candidate5>
</PropertyGroup>
<!-- Pick the first existing candidate and compute destination using its extension -->
<PropertyGroup Condition= "Exists('$(_Candidate1)') and '$(_CandidateFound)' == ''" >
<_CandidateFound > $(_Candidate1)</_CandidateFound>
</PropertyGroup>
<PropertyGroup Condition= "Exists('$(_Candidate2)') and '$(_CandidateFound)' == ''" >
<_CandidateFound > $(_Candidate2)</_CandidateFound>
</PropertyGroup>
<PropertyGroup Condition= "Exists('$(_Candidate3)') and '$(_CandidateFound)' == ''" >
<_CandidateFound > $(_Candidate3)</_CandidateFound>
</PropertyGroup>
<PropertyGroup Condition= "Exists('$(_Candidate4)') and '$(_CandidateFound)' == ''" >
<_CandidateFound > $(_Candidate4)</_CandidateFound>
</PropertyGroup>
<PropertyGroup Condition= "Exists('$(_Candidate5)') and '$(_CandidateFound)' == ''" >
<_CandidateFound > $(_Candidate5)</_CandidateFound>
</PropertyGroup>
<!-- If a candidate was found, compute destination using its extension and perform copy/delete -->
<PropertyGroup Condition= "'$(_CandidateFound)' != ''" >
<_FoundExt > $([System.IO.Path]::GetExtension('$(_CandidateFound)'))</_FoundExt>
<_DestExe > $(PublishDir)$(_NewExeNameBase)$(_FoundExt)</_DestExe>
</PropertyGroup>
<Message Text= "Found candidate: $(_CandidateFound). Renaming to $(_DestExe)" Importance= "High" Condition= "'$(_CandidateFound)' != ''" />
<Copy SourceFiles= "$(_CandidateFound)" DestinationFiles= "$(_DestExe)" SkipUnchangedFiles= "false" Condition= "'$(_CandidateFound)' != ''" />
<Delete Files= "$(_CandidateFound)" Condition= "'$(_CandidateFound)' != ''" />
</Target>
2021-03-04 10:44:09 +01:00
</Project>