From dab6509fe209f57b54098e1d3d223e2453edc4a9 Mon Sep 17 00:00:00 2001
From: 0x5BFA <62196528+0x5bfa@users.noreply.github.com>
Date: Sun, 14 Sep 2025 01:47:07 +0900
Subject: [PATCH 01/16] Bump bump bump
---
MultiTarget/PackageReferences/WinAppSdk.props | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/MultiTarget/PackageReferences/WinAppSdk.props b/MultiTarget/PackageReferences/WinAppSdk.props
index a20dc840..a34795f5 100644
--- a/MultiTarget/PackageReferences/WinAppSdk.props
+++ b/MultiTarget/PackageReferences/WinAppSdk.props
@@ -1,7 +1,7 @@
-
-
+
+
From d839259d8702ebc7fa0e84c7f0e7307a02e3b104 Mon Sep 17 00:00:00 2001
From: 0x5BFA <62196528+0x5bfa@users.noreply.github.com>
Date: Sun, 14 Sep 2025 02:20:42 +0900
Subject: [PATCH 02/16] Update
---
MultiTarget/PackageReferences/Uwp/Microsoft.Web.WebView2.props | 2 +-
MultiTarget/PackageReferences/WinAppSdk.props | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/MultiTarget/PackageReferences/Uwp/Microsoft.Web.WebView2.props b/MultiTarget/PackageReferences/Uwp/Microsoft.Web.WebView2.props
index 1da0cfb4..dc608f6e 100644
--- a/MultiTarget/PackageReferences/Uwp/Microsoft.Web.WebView2.props
+++ b/MultiTarget/PackageReferences/Uwp/Microsoft.Web.WebView2.props
@@ -4,7 +4,7 @@
-
+
diff --git a/MultiTarget/PackageReferences/WinAppSdk.props b/MultiTarget/PackageReferences/WinAppSdk.props
index a34795f5..df3f2d38 100644
--- a/MultiTarget/PackageReferences/WinAppSdk.props
+++ b/MultiTarget/PackageReferences/WinAppSdk.props
@@ -2,6 +2,6 @@
-
+
From 8751cc25d96ae5ecd29fda98da61af47f8a10cf8 Mon Sep 17 00:00:00 2001
From: Arlo
Date: Thu, 19 Feb 2026 11:41:28 -0600
Subject: [PATCH 03/16] Bump Microsoft.Xaml.Behaviors.WinUI.Managed to 3.0.1
---
ProjectHeads/App.Head.WinAppSdk.Dependencies.props | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ProjectHeads/App.Head.WinAppSdk.Dependencies.props b/ProjectHeads/App.Head.WinAppSdk.Dependencies.props
index 118db253..cdac0778 100644
--- a/ProjectHeads/App.Head.WinAppSdk.Dependencies.props
+++ b/ProjectHeads/App.Head.WinAppSdk.Dependencies.props
@@ -3,6 +3,6 @@
-
+
From 06aed5c349093b7b620848cabe78e3be04fab326 Mon Sep 17 00:00:00 2001
From: Arlo
Date: Tue, 24 Mar 2026 16:14:13 -0500
Subject: [PATCH 04/16] Update WASDK version to 1.8.260204000 to match Win2d
dependency and fix build errors
---
MultiTarget/PackageReferences/WinAppSdk.props | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/MultiTarget/PackageReferences/WinAppSdk.props b/MultiTarget/PackageReferences/WinAppSdk.props
index df3f2d38..750bc5fc 100644
--- a/MultiTarget/PackageReferences/WinAppSdk.props
+++ b/MultiTarget/PackageReferences/WinAppSdk.props
@@ -1,6 +1,6 @@
-
+
From 246c51b4d2850fe901981ef3ac3fe4618ad08a79 Mon Sep 17 00:00:00 2001
From: Arlo
Date: Fri, 27 Mar 2026 11:10:02 -0500
Subject: [PATCH 05/16] Remove duplicate Microsoft.Web.WebView2 package
reference, now referenced transitively from Microsoft.WindowsAppSDK.WinUI
---
MultiTarget/PackageReferences/WinAppSdk.props | 1 -
1 file changed, 1 deletion(-)
diff --git a/MultiTarget/PackageReferences/WinAppSdk.props b/MultiTarget/PackageReferences/WinAppSdk.props
index 750bc5fc..fdfe735a 100644
--- a/MultiTarget/PackageReferences/WinAppSdk.props
+++ b/MultiTarget/PackageReferences/WinAppSdk.props
@@ -2,6 +2,5 @@
-
From cd1e677552261e2a1cf9d5c2b054085a38d6608d Mon Sep 17 00:00:00 2001
From: Arlo
Date: Fri, 27 Mar 2026 11:56:04 -0500
Subject: [PATCH 06/16] Enable diagnostics in CI for binlog output to
investigate MSIX build tools issue
---
.github/workflows/build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 0427f67c..fe138177 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -16,7 +16,7 @@ on:
workflow_dispatch:
env:
- ENABLE_DIAGNOSTICS: false
+ ENABLE_DIAGNOSTICS: true
#COREHOST_TRACE: 1
COREHOST_TRACEFILE: corehosttrace.log
From 5fd3712c88b068e29520979a9b0256e62af5d3ec Mon Sep 17 00:00:00 2001
From: Arlo
Date: Sun, 29 Mar 2026 22:40:15 -0500
Subject: [PATCH 07/16] Fix quoting issue for component path preventing
-UseDiagnostics flag from working
---
.github/workflows/build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index fe138177..99fe74fb 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -209,7 +209,7 @@ jobs:
- name: Add project heads to ${{ env.TEST_PROJECT_NAME }}
working-directory: ./${{ env.TEST_PROJECT_DIRECTORY }}
- run: ${{ github.workspace }}/${{ env.HEADS_DIRECTORY }}/GenerateSingleSampleHeads.ps1 -MultiTargets ${{ matrix.multitarget }} -winui ${{ matrix.winui }} -componentPath "${{ github.workspace }}/${{ env.TEST_PROJECT_DIRECTORY }}${{ env.ENABLE_DIAGNOSTICS == 'true' && ' -UseDiagnostics' || '' }}"
+ run: ${{ github.workspace }}/${{ env.HEADS_DIRECTORY }}/GenerateSingleSampleHeads.ps1 -MultiTargets ${{ matrix.multitarget }} -winui ${{ matrix.winui }} -componentPath ${{ github.workspace }}/${{ env.TEST_PROJECT_DIRECTORY }}${{ env.ENABLE_DIAGNOSTICS == 'true' && ' -UseDiagnostics' || '' }}
- name: MSBuild
working-directory: ./${{ env.TEST_PROJECT_DIRECTORY }}
From 1d6f7d9c0f48dac9d8bfe6738d6b0eadb0133838 Mon Sep 17 00:00:00 2001
From: Arlo
Date: Mon, 30 Mar 2026 11:01:33 -0500
Subject: [PATCH 08/16] Use quotes around componentPath in
GenerateSingleSampleHeads.ps1 to work around slngen issues
---
.github/workflows/build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 99fe74fb..48bde7c6 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -209,7 +209,7 @@ jobs:
- name: Add project heads to ${{ env.TEST_PROJECT_NAME }}
working-directory: ./${{ env.TEST_PROJECT_DIRECTORY }}
- run: ${{ github.workspace }}/${{ env.HEADS_DIRECTORY }}/GenerateSingleSampleHeads.ps1 -MultiTargets ${{ matrix.multitarget }} -winui ${{ matrix.winui }} -componentPath ${{ github.workspace }}/${{ env.TEST_PROJECT_DIRECTORY }}${{ env.ENABLE_DIAGNOSTICS == 'true' && ' -UseDiagnostics' || '' }}
+ run: ${{ github.workspace }}/${{ env.HEADS_DIRECTORY }}/GenerateSingleSampleHeads.ps1 -MultiTargets ${{ matrix.multitarget }} -winui ${{ matrix.winui }} -componentPath "${{ github.workspace }}/${{ env.TEST_PROJECT_DIRECTORY }}"${{ env.ENABLE_DIAGNOSTICS == 'true' && ' -UseDiagnostics' || '' }}
- name: MSBuild
working-directory: ./${{ env.TEST_PROJECT_DIRECTORY }}
From 7cce0a698cf1675aa58babe0f3dd58b7836a70c4 Mon Sep 17 00:00:00 2001
From: Arlo
Date: Mon, 30 Mar 2026 11:04:48 -0500
Subject: [PATCH 09/16] Name artifacts uniquely based on job matrix
---
.github/workflows/build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 48bde7c6..9f35d37c 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -238,7 +238,7 @@ jobs:
uses: actions/upload-artifact@v4
if: ${{ (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }}
with:
- name: new-experiment-logs
+ name: new-experiment-logs-winui${{ matrix.winui }}
path: ./**/*.*log
wasm-linux:
From 341a9dd390c7339b23029dbdaab133f4ef5d8ec4 Mon Sep 17 00:00:00 2001
From: Arlo
Date: Mon, 30 Mar 2026 11:11:03 -0500
Subject: [PATCH 10/16] Disable consolelogger due to CI issues
Full error text:
```
Microsoft.Build.Exceptions.InternalLoggerException: The build stopped unexpectedly because the "ReusableLogger" logger failed unexpectedly during shutdown. ---> System.ObjectDisposedException: Cannot write to a closed TextWriter.
at System.IO.__Error.WriterClosed()
at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
at Microsoft.Build.Framework.BuildFinishedEventHandler.Invoke(Object sender, BuildFinishedEventArgs e)
at Microsoft.Build.Logging.EventArgsDispatcher.Dispatch(BuildEventArgs buildEvent)
at Microsoft.VisualStudio.SlnGen.ForwardingLogger.Shutdown()
at Microsoft.Build.BackEnd.Logging.LoggingService.ShutdownLogger(ILogger logger)
```
---
GenerateSingleSolution.ps1 | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/GenerateSingleSolution.ps1 b/GenerateSingleSolution.ps1
index 9f6c5736..8e2a6217 100644
--- a/GenerateSingleSolution.ps1
+++ b/GenerateSingleSolution.ps1
@@ -212,7 +212,12 @@ $projects = $projects + "$PSScriptRoot\CommunityToolkit.Tooling.XamlNamedPropert
if ($UseDiagnostics.IsPresent)
{
$sdkoptions = " -d"
- $diagnostics = '-bl:slngen.binlog --consolelogger:"ShowEventId;Summary;Verbosity=Detailed" --filelogger:"LogFile=slngen.log;Append;Verbosity=Diagnostic;Encoding=UTF-8" '
+ $diagnostics = @(
+ '-bl:slngen.binlog'
+ # Console logger + binlog causes exception and failure
+ # Track https://github.com/microsoft/slngen/issues/451
+ #'--consolelogger:ShowEventId;Summary;Verbosity=Detailed'
+ )
}
else
{
From eccf4888469ca0d347602b2e35c705e48c2fe6bf Mon Sep 17 00:00:00 2001
From: Arlo
Date: Mon, 30 Mar 2026 11:17:31 -0500
Subject: [PATCH 11/16] Align slngen command formatting with
GenerateAllSolution.ps1
---
GenerateSingleSolution.ps1 | 31 ++++++++++++++++++++++++++-----
1 file changed, 26 insertions(+), 5 deletions(-)
diff --git a/GenerateSingleSolution.ps1 b/GenerateSingleSolution.ps1
index 8e2a6217..160e4a27 100644
--- a/GenerateSingleSolution.ps1
+++ b/GenerateSingleSolution.ps1
@@ -167,8 +167,14 @@ $projects = [System.Collections.ArrayList]::new()
dotnet tool restore
$generatedSolutionFilePath = "$componentPath\$componentName.sln"
-$platforms = '"Any CPU;x64;x86;ARM64"'
-$slngenConfig = "--folders true --collapsefolders true --ignoreMainProject"
+$platforms = 'Any CPU;x64;x86;ARM64'
+$slngenConfig = @(
+ '--folders'
+ 'true'
+ '--collapsefolders'
+ 'true'
+ '--ignoreMainProject'
+)
# Remove previous file if it exists
if (Test-Path -Path $generatedSolutionFilePath)
@@ -225,11 +231,26 @@ else
$diagnostics = ""
}
-$cmd = "dotnet$sdkoptions tool run slngen -o $generatedSolutionFilePath $slngenConfig $diagnostics--platform $platforms $($projects -Join ' ')"
+$cmd = 'dotnet'
+$arguments = @(
+ $sdkoptions
+ 'tool'
+ 'run'
+ 'slngen'
+ '-o'
+ $generatedSolutionFilePath
+ $slngenConfig
+ $diagnostics
+ '--platform'
+ $platforms
+ $projects
+ "--launch $launch"
+)
+
-Write-Output "Running Command: $cmd"
+Write-Output "Running Command: $cmd $arguments"
-Invoke-Expression $cmd
+&$cmd @arguments
# go back to main working directory
Pop-Location
From 5979164ee0550ef484a935e7d3e6bd26fbad717a Mon Sep 17 00:00:00 2001
From: Arlo
Date: Mon, 30 Mar 2026 11:22:30 -0500
Subject: [PATCH 12/16] Add PSNativeCommandArgumentPassing, further align with
GenerateAllSolution.ps1
---
GenerateSingleSolution.ps1 | 3 +++
1 file changed, 3 insertions(+)
diff --git a/GenerateSingleSolution.ps1 b/GenerateSingleSolution.ps1
index 160e4a27..6186a8d9 100644
--- a/GenerateSingleSolution.ps1
+++ b/GenerateSingleSolution.ps1
@@ -247,6 +247,9 @@ $arguments = @(
"--launch $launch"
)
+# See https://learn.microsoft.com/en-us/powershell/scripting/learn/experimental-features?view=powershell-7.4#psnativecommandargumentpassing
+$PSNativeCommandArgumentPassing = 'Legacy'
+
Write-Output "Running Command: $cmd $arguments"
From d92908ef4c73be24cba69abc84e5fa9d3c47cb4a Mon Sep 17 00:00:00 2001
From: Arlo
Date: Mon, 30 Mar 2026 11:30:14 -0500
Subject: [PATCH 13/16] Align $sdkoptions to GenerateAllSolution.ps1
---
GenerateSingleSolution.ps1 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/GenerateSingleSolution.ps1 b/GenerateSingleSolution.ps1
index 6186a8d9..e0e73d7d 100644
--- a/GenerateSingleSolution.ps1
+++ b/GenerateSingleSolution.ps1
@@ -217,7 +217,7 @@ $projects = $projects + "$PSScriptRoot\CommunityToolkit.Tooling.XamlNamedPropert
if ($UseDiagnostics.IsPresent)
{
- $sdkoptions = " -d"
+ $sdkoptions = "-d"
$diagnostics = @(
'-bl:slngen.binlog'
# Console logger + binlog causes exception and failure
From 4a10a43589ff1b5c7b697916dc37db9a5ec02406 Mon Sep 17 00:00:00 2001
From: Arlo
Date: Mon, 30 Mar 2026 11:39:40 -0500
Subject: [PATCH 14/16] Add matrix multitarget to artifact name to fix
conflicts
---
.github/workflows/build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 9f35d37c..ce3e8a96 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -238,7 +238,7 @@ jobs:
uses: actions/upload-artifact@v4
if: ${{ (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }}
with:
- name: new-experiment-logs-winui${{ matrix.winui }}
+ name: new-experiment-logs-winui${{ matrix.winui }}-multitarget${{ matrix.multitarget }}
path: ./**/*.*log
wasm-linux:
From eb041555305fb3a454f8f68ffdce2f8c8237d674 Mon Sep 17 00:00:00 2001
From: Arlo
Date: Mon, 30 Mar 2026 12:02:17 -0500
Subject: [PATCH 15/16] Add msbuild binlog and diagnostic params, realign
artifact name with mainline repo
---
.github/workflows/build.yml | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index ce3e8a96..fdf35043 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -17,6 +17,7 @@ on:
env:
ENABLE_DIAGNOSTICS: true
+ MSBUILD_VERBOSITY: normal
#COREHOST_TRACE: 1
COREHOST_TRACEFILE: corehosttrace.log
@@ -213,7 +214,7 @@ jobs:
- name: MSBuild
working-directory: ./${{ env.TEST_PROJECT_DIRECTORY }}
- run: msbuild.exe ${{ env.TEST_PROJECT_NAME }}.sln /restore /nowarn:MSB4011 -p:Configuration=Release
+ run: msbuild.exe ${{ env.TEST_PROJECT_NAME }}.sln /restore /nowarn:MSB4011 -p:Configuration=Release /m ${{ env.ENABLE_DIAGNOSTICS == 'true' && '/bl' || '' }} /v:${{ env.MSBUILD_VERBOSITY }}
# Run tests
- name: Setup VSTest Path
@@ -238,7 +239,7 @@ jobs:
uses: actions/upload-artifact@v4
if: ${{ (env.ENABLE_DIAGNOSTICS == 'true' || env.COREHOST_TRACE != '') && always() }}
with:
- name: new-experiment-logs-winui${{ matrix.winui }}-multitarget${{ matrix.multitarget }}
+ name: new-experiment-logs-${{ matrix.multitarget }}-winui${{ matrix.winui }}
path: ./**/*.*log
wasm-linux:
From acbfbd578c45e447c017c3cc5e619ebdbb99998c Mon Sep 17 00:00:00 2001
From: Arlo
Date: Mon, 30 Mar 2026 12:10:37 -0500
Subject: [PATCH 16/16] Set MSBUILD_VERBOSITY to diagnostic
---
.github/workflows/build.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index fdf35043..13d5215d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -17,7 +17,7 @@ on:
env:
ENABLE_DIAGNOSTICS: true
- MSBUILD_VERBOSITY: normal
+ MSBUILD_VERBOSITY: diagnostic
#COREHOST_TRACE: 1
COREHOST_TRACEFILE: corehosttrace.log