603af17e56
The repo carried two parallel UIs (WPF + WinUI) sharing Models/Services via
cross-directory Link includes. Now that WinUI is the only frontend, collapse
the structure so the WinUI project IS the repo root instead of a nested
sibling folder:
- Delete the WPF project entirely (App.xaml, MainWindow.xaml, csproj) and its
bin/obj output
- Move AmiReel.WinUI/* up to the repo root (App, MainWindow, MainPage,
DialogHelper, Assets, Package.appxmanifest, app.manifest, Properties,
.github/instructions, AGENTS.md) via git mv, preserving history
- Rename AmiReel.WinUI.csproj -> AmiReel.csproj; regenerate the solution as
AmiReel.slnx (the newer XML solution format) with a single project
- Rename namespace AmigaDB.VideoRenderer.{Models,Services} -> AmiReel.{...}
and AmiReel_WinUI -> AmiReel across all files, including the embedded
ffmpeg/ffprobe resource logical names in the csproj and ToolExtractor
- Models/ and Services/ no longer need the Link-based cross-directory
<Compile Include>; they're picked up by the SDK's default globbing now
that they live under the project directory
- Rename assets/ -> branding/ (source icon art) to avoid a case-insensitive
collision with Assets/ (packaged tile art) once both sit at repo root
- Merge the two .gitignore files into one; track the PublishProfiles pubxml
files instead of ignoring them (no secrets, and they keep publish
reproducible across machines) as branding, gitignore, etc.
- Simplify publish-win-x64.ps1 (drop the -Target Wpf/WinUI switch, there's
only one target now) and rewrite README.md to describe the single-project
layout, build/run/publish commands, and file structure
Verified: dotnet build succeeds for both AmiReel.csproj and AmiReel.slnx, and
the built exe launches and renders identically to before the move.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
84 lines
4.1 KiB
XML
84 lines
4.1 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
<PropertyGroup>
|
|
<OutputType>WinExe</OutputType>
|
|
<TargetFramework>net10.0-windows10.0.26100.0</TargetFramework>
|
|
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
|
|
<RootNamespace>AmiReel</RootNamespace>
|
|
<AssemblyName>AmiReel</AssemblyName>
|
|
<ApplicationIcon>branding\AmiReel.ico</ApplicationIcon>
|
|
<ApplicationManifest>app.manifest</ApplicationManifest>
|
|
<Platforms>x86;x64;ARM64</Platforms>
|
|
<RuntimeIdentifier Condition="'$(RuntimeIdentifier)' == ''">win-$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant())</RuntimeIdentifier>
|
|
<PublishProfile Condition="Exists('Properties\PublishProfiles\win-$(Platform).pubxml')">win-$(Platform).pubxml</PublishProfile>
|
|
<UseWinUI>true</UseWinUI>
|
|
<WinUISDKReferences>false</WinUISDKReferences>
|
|
<EnableMsixTooling>true</EnableMsixTooling>
|
|
<WindowsPackageType>None</WindowsPackageType>
|
|
<WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<Nullable>enable</Nullable>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<Content Include="Assets\SplashScreen.scale-200.png" />
|
|
<Content Include="Assets\LockScreenLogo.scale-200.png" />
|
|
<Content Include="Assets\Square150x150Logo.scale-200.png" />
|
|
<Content Include="Assets\Square44x44Logo.scale-200.png" />
|
|
<Content Include="Assets\Square44x44Logo.targetsize-24_altform-unplated.png" />
|
|
<Content Include="Assets\Square44x44Logo.targetsize-48_altform-lightunplated.png" />
|
|
<Content Include="Assets\StoreLogo.png" />
|
|
<Content Include="Assets\AppIcon.ico" />
|
|
<Content Include="Assets\Wide310x150Logo.scale-200.png" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Manifest Include="$(ApplicationManifest)" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<EmbeddedResource Include="ThirdParty\ffmpeg.exe" Condition="Exists('ThirdParty\ffmpeg.exe')" LogicalName="AmiReel.Tools.ffmpeg.exe" />
|
|
<EmbeddedResource Include="ThirdParty\ffprobe.exe" Condition="Exists('ThirdParty\ffprobe.exe')" LogicalName="AmiReel.Tools.ffprobe.exe" />
|
|
</ItemGroup>
|
|
|
|
<!--
|
|
Defining the "Msix" ProjectCapability here allows the Single-project MSIX Packaging
|
|
Tools extension to be activated for this project even if the Windows App SDK Nuget
|
|
package has not yet been restored.
|
|
-->
|
|
<ItemGroup Condition="'$(DisableMsixProjectCapabilityAddedByProject)'!='true' and '$(EnableMsixTooling)'=='true'">
|
|
<ProjectCapability Include="Msix" />
|
|
</ItemGroup>
|
|
|
|
<!--
|
|
Microsoft.Windows.SDK.BuildTools.WinApp adds first-class support for
|
|
`dotnet run` on packaged WinUI apps: it hooks the .NET CLI Run target to
|
|
register a debug identity via the winapp CLI and launch the app with
|
|
package identity (AUMID).
|
|
Set <EnableWinAppRunSupport>false</EnableWinAppRunSupport> in a
|
|
<PropertyGroup> above to opt out.
|
|
-->
|
|
<ItemGroup>
|
|
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.28000.2526" />
|
|
<PackageReference Include="Microsoft.WindowsAppSDK" Version="2.3.1" />
|
|
<PackageReference Include="Microsoft.Windows.SDK.BuildTools.WinApp" Version="0.5.0" />
|
|
</ItemGroup>
|
|
|
|
<!--
|
|
Defining the "HasPackageAndPublishMenuAddedByProject" property here allows the Solution
|
|
Explorer "Package and Publish" context menu entry to be enabled for this project even if
|
|
the Windows App SDK Nuget package has not yet been restored.
|
|
-->
|
|
<PropertyGroup Condition="'$(DisableHasPackageAndPublishMenuAddedByProject)'!='true' and '$(EnableMsixTooling)'=='true'">
|
|
<HasPackageAndPublishMenu>true</HasPackageAndPublishMenu>
|
|
</PropertyGroup>
|
|
|
|
<!-- Publish Properties -->
|
|
<PropertyGroup>
|
|
<PublishReadyToRun Condition="'$(Configuration)' == 'Debug'">False</PublishReadyToRun>
|
|
<PublishReadyToRun Condition="'$(Configuration)' != 'Debug'">True</PublishReadyToRun>
|
|
<PublishTrimmed Condition="'$(Configuration)' == 'Debug'">False</PublishTrimmed>
|
|
<PublishTrimmed Condition="'$(Configuration)' != 'Debug'">False</PublishTrimmed>
|
|
<IncludeAllContentForSelfExtract Condition="'$(Configuration)' != 'Debug'">True</IncludeAllContentForSelfExtract>
|
|
</PropertyGroup>
|
|
</Project>
|