Repository navigation
Expand file tree
/
Copy pathMissionController.UI.csproj
More file actions
84 lines (73 loc) · 5.14 KB
/
Copy pathMissionController.UI.csproj
File metadata and controls
84 lines (73 loc) · 5.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net10.0-windows10.0.19041.0</TargetFramework>
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
<RootNamespace>MissionController.UI</RootNamespace>
<ApplicationManifest>app.manifest</ApplicationManifest>
<!-- Embedded in the executable, which is what Explorer, the pinned shortcut and alt-tab read.
The running window's icon is set separately in MainWindow - one does not imply the other. -->
<ApplicationIcon>Assets\splat.ico</ApplicationIcon>
<Platforms>x64;arm64</Platforms>
<Platform>x64</Platform>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
<WindowsPackageType>None</WindowsPackageType>
<WindowsAppSDKSelfContained>true</WindowsAppSDKSelfContained>
<UseWinUI>true</UseWinUI>
<EnableMsixTooling>true</EnableMsixTooling>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<!-- Required by [LibraryImport]: the generated marshalling stubs are unsafe code (SYSLIB1062).
This project's user32 declarations are source-generated, so the flag is not optional. -->
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<!--
MVVMTK0045: [ObservableProperty] on a field is not AOT-safe for WinRT. It fires 93 times here,
once per observable field across the nine ViewModels, and it was the entire warning output of a
cold solution build - drowning any real warning that might appear.
Suppressed rather than migrated, deliberately. The fix is partial properties, and the MVVM
Toolkit's generator emits no implementation for them under this project's language version:
converting one ViewModel produced CS9248 ("must have an implementation part") on every property,
including one with no initializer, and CS8050 on those with initializers. Both clear only under
<LangVersion>preview</LangVersion>. Putting a security product on unreleased language features to
silence an advisory warning is the worse trade.
The warning describes a scenario this project does not use: there is no PublishAot, no
PublishTrimmed, and no publish profile anywhere in the repository. UiWarningSuppressionTests
binds this suppression to that fact and fails the build if AOT or trimming is ever switched on,
so the day the scenario becomes real, this comment stops being true out loud instead of quietly.
-->
<NoWarn>$(NoWarn);MVVMTK0045</NoWarn>
</PropertyGroup>
<Import Project="Effects\Win2D\MissionController.Win2D.props" Condition="Exists('Effects\Win2D\MissionController.Win2D.props')" />
<ItemGroup>
<PackageReference Include="Microsoft.WindowsAppSDK" Version="2.5.1" />
<PackageReference Include="Microsoft.Graphics.Win2D" Version="1.4.0" />
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.28000.2705" />
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.4.2" />
<PackageReference Include="CommunityToolkit.WinUI.Controls.Primitives" Version="8.2.251219" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="10.0.12" />
</ItemGroup>
<ItemGroup>
<!-- Brand assets, all generated by brand\build-brand-assets.py from the two renders beside it.
ms-appx:/// resolves to this directory for an unpackaged app, so copying them out is what
makes <Image Source="ms-appx:///Assets/..."> resolve at runtime rather than render blank. -->
<Content Include="Assets\**\*" CopyToOutputDirectory="PreserveNewest" />
<!-- The Field Guide travels with the console. The onboarding wizard used to send readers to a
GitHub URL for it: that repository is private, so for everyone outside this machine the
link was a 404 behind a login wall. It opens this copy now, which needs no network at all. -->
<Content Include="..\..\docs\SPLAT-Field-Guide.html"
Link="docs\SPLAT-Field-Guide.html"
CopyToOutputDirectory="PreserveNewest" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\MissionController.Core\MissionController.Core.csproj" />
<ProjectReference Include="..\MissionController.Infrastructure.Windows\MissionController.Infrastructure.Windows.csproj" />
<ProjectReference Include="..\MissionController.Infrastructure.Network\MissionController.Infrastructure.Network.csproj" />
<ProjectReference Include="..\MissionController.Infrastructure.Data\MissionController.Infrastructure.Data.csproj" />
<!-- Since 2026-09-24: a catalog template whose tool names the Linux lease runs through the WSL2
bridge from the console too, not only from splat-mcp. -->
<ProjectReference Include="..\MissionController.Infrastructure.Linux\MissionController.Infrastructure.Linux.csproj" />
<ProjectReference Include="..\MissionController.Host\MissionController.Host.csproj" />
</ItemGroup>
<Import Project="Effects\Win2D\MissionController.Win2D.targets" Condition="Exists('Effects\Win2D\MissionController.Win2D.targets')" />
<Import Project="Graphics\Shaders\MissionController.Direct3D.targets" Condition="Exists('Graphics\Shaders\MissionController.Direct3D.targets')" />
</Project>