Files
AppKit/samples/AppKit.Sample.WinUI/AppKit.Sample.WinUI.csproj
T
James MaesandClaude Opus 5.5 83f028f188 AppKit: shared foundation packages for KofTwentyTwo Windows apps
Extracts the app-agnostic plumbing proven in gclo 1.0 into four packages that
every future KofTwentyTwo Windows app builds on:

- KofTwentyTwo.AppKit: AppInfo identity, AppPaths, BuildVersion, crash-safe
  FileActivityLog with retention, LogTail, atomic SettingsStore<T> with
  ShellSettings, Credential Manager secret vault, IUserPrompter seam
- KofTwentyTwo.AppKit.Updates: Velopack startup hook, never-throwing GitHub
  Releases update service with stable/dev channel selection, and the shared
  "check for updates" flow (UpdateCoordinator)
- KofTwentyTwo.AppKit.WinUI / .Wpf: code-built splash overlay, About, live log
  viewer, crash net, theme and window helpers, dialog adapters

The two framework-free packages are held to 100% line coverage (109 tests).
WinUI and WPF sample apps exercise every service and are driven end to end by
12 FlaUI tests. BrandTool generates the vector mark and multi-size .ico.

CI mirrors gclo's gates (zero warnings, coverage, UI tests, format, CodeQL,
dependency review); the release workflow packs, checksums, attests build
provenance, publishes a GitHub release, and pushes to nuget.org.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 07:10:42 -05:00

39 lines
1.7 KiB
XML

<Project Sdk="Microsoft.NET.Sdk">
<!-- Unpackaged, self-contained WinUI 3 app: the shape Velopack ships. The sample is
the runtime proof for the WinUI package and the UI smoke tests' target. -->
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net10.0-windows10.0.19041.0</TargetFramework>
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
<RootNamespace>AppKit.Sample.WinUI</RootNamespace>
<AssemblyName>AppKitSample.WinUI</AssemblyName>
<ApplicationManifest>app.manifest</ApplicationManifest>
<ApplicationIcon>..\Shared\Brand\app.ico</ApplicationIcon>
<Platforms>x86;x64;ARM64</Platforms>
<RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
<UseWinUI>true</UseWinUI>
<WindowsPackageType>None</WindowsPackageType>
<WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained>
<!-- Velopack must run before any XAML starts, so the app supplies its own Main (Program.cs). -->
<DefineConstants>$(DefineConstants);DISABLE_XAML_GENERATED_MAIN</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\Shared\SampleApp.cs" Link="SampleApp.cs" />
<Content Include="..\Shared\Brand\app-icon.svg" Link="Assets\Brand\app-icon.svg" CopyToOutputDirectory="PreserveNewest" />
<Content Include="..\Shared\Brand\app.ico" Link="Assets\Brand\app.ico" CopyToOutputDirectory="PreserveNewest" />
<Manifest Include="$(ApplicationManifest)" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.WindowsAppSDK" />
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\KofTwentyTwo.AppKit.WinUI\KofTwentyTwo.AppKit.WinUI.csproj" />
</ItemGroup>
</Project>