launcher: add EnableWindowsTargeting for cross-compile from Linux

Microsoft.NET.Sdk.WindowsDesktop emits NETSDK1100 when a Windows-
targeting project is built from a non-Windows host. Setting
EnableWindowsTargeting=true opts in to the cross-compile path, which
works on Linux as long as the WindowsDesktop SDK files are present.

On glados they were copied from a Windows .NET 8 SDK archive into
/usr/lib/dotnet/sdk/8.0.126/Sdks/Microsoft.NET.Sdk.WindowsDesktop/
and /usr/lib/dotnet/packs/Microsoft.WindowsDesktop.App.Ref/. This is
a one-time setup per Linux host -- see the bridge-claude memory note.

No-op on Windows hosts (the flag has no effect when the SDK is native).
Both PC builds and glados builds now produce the same output.
This commit is contained in:
2026-05-23 16:40:23 +00:00
parent af45997a8b
commit 4315696136
+5
View File
@@ -4,6 +4,11 @@
<!-- net8.0-windows is required for the XboxAuthNet WebView2 OAuth flow:
the netstandard2.0 build of XboxAuthNet has no WebUI implementation. -->
<TargetFramework>net8.0-windows</TargetFramework>
<!-- Allow building this Windows-targeting project from Linux/macOS hosts.
No-op on Windows. Requires the WindowsDesktop SDK files to be
present in the local .NET install (on glados copied from the
Windows .NET 8 SDK archive into /usr/lib/dotnet/). -->
<EnableWindowsTargeting>true</EnableWindowsTargeting>
<UseWindowsForms>true</UseWindowsForms>
<Nullable>enable</Nullable>
<ApplicationManifest>app.manifest</ApplicationManifest>