fix(welcome): extract wizard components to Razor Class Library so bUnit tests don't load WindowsAppSDK (fixes CI DllNotFound on clean runner)
All checks were successful
Build SilverMetal Enhanced - Windows ISO / build (pull_request) Successful in 4m30s

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
sysadmin
2026-06-09 08:12:37 +01:00
parent ee3528f360
commit b1226d2bed
14 changed files with 51 additions and 8 deletions

View File

@@ -11,6 +11,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SilverOS.Welcome.Tests", "t
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SilverOS.Welcome.App", "src\SilverOS.Welcome.App\SilverOS.Welcome.App.csproj", "{E62F6F39-C734-436E-9193-78D313205A02}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SilverOS.Welcome.UI", "src\SilverOS.Welcome.UI\SilverOS.Welcome.UI.csproj", "{BCC7EDC1-3170-4273-820F-6A1204D0BCAB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -57,6 +59,18 @@ Global
{E62F6F39-C734-436E-9193-78D313205A02}.Release|x64.Build.0 = Release|Any CPU
{E62F6F39-C734-436E-9193-78D313205A02}.Release|x86.ActiveCfg = Release|Any CPU
{E62F6F39-C734-436E-9193-78D313205A02}.Release|x86.Build.0 = Release|Any CPU
{BCC7EDC1-3170-4273-820F-6A1204D0BCAB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{BCC7EDC1-3170-4273-820F-6A1204D0BCAB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BCC7EDC1-3170-4273-820F-6A1204D0BCAB}.Debug|x64.ActiveCfg = Debug|Any CPU
{BCC7EDC1-3170-4273-820F-6A1204D0BCAB}.Debug|x64.Build.0 = Debug|Any CPU
{BCC7EDC1-3170-4273-820F-6A1204D0BCAB}.Debug|x86.ActiveCfg = Debug|Any CPU
{BCC7EDC1-3170-4273-820F-6A1204D0BCAB}.Debug|x86.Build.0 = Debug|Any CPU
{BCC7EDC1-3170-4273-820F-6A1204D0BCAB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BCC7EDC1-3170-4273-820F-6A1204D0BCAB}.Release|Any CPU.Build.0 = Release|Any CPU
{BCC7EDC1-3170-4273-820F-6A1204D0BCAB}.Release|x64.ActiveCfg = Release|Any CPU
{BCC7EDC1-3170-4273-820F-6A1204D0BCAB}.Release|x64.Build.0 = Release|Any CPU
{BCC7EDC1-3170-4273-820F-6A1204D0BCAB}.Release|x86.ActiveCfg = Release|Any CPU
{BCC7EDC1-3170-4273-820F-6A1204D0BCAB}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -65,5 +79,6 @@ Global
{939DF856-EB90-473B-9C46-D8504B94A81B} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{73B13415-D01D-4409-B85F-62C8A4A8C95D} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{E62F6F39-C734-436E-9193-78D313205A02} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{BCC7EDC1-3170-4273-820F-6A1204D0BCAB} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
EndGlobalSection
EndGlobal

View File

@@ -2,7 +2,7 @@
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:SilverOS.Welcome.App"
xmlns:components="clr-namespace:SilverOS.Welcome.App.Components"
xmlns:components="clr-namespace:SilverOS.Welcome.App.Components;assembly=SilverOS.Welcome.UI"
x:Class="SilverOS.Welcome.App.MainPage">
<BlazorWebView x:Name="blazorWebView" HostPage="wwwroot/index.html">

View File

@@ -53,6 +53,7 @@
<ItemGroup>
<ProjectReference Include="..\SilverOS.Welcome.Core\SilverOS.Welcome.Core.csproj" />
<ProjectReference Include="..\SilverOS.Welcome.UI\SilverOS.Welcome.UI.csproj" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk.Razor">
<PropertyGroup>
<TargetFramework>net9.0-windows</TargetFramework>
<RootNamespace>SilverOS.Welcome.App</RootNamespace>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\SilverOS.Welcome.Core\SilverOS.Welcome.Core.csproj" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,13 @@
@using System.Linq
@using System.Net.Http
@using System.Net.Http.Json
@using Microsoft.AspNetCore.Components.Forms
@using Microsoft.AspNetCore.Components.Routing
@using Microsoft.AspNetCore.Components.Web
@using Microsoft.AspNetCore.Components.Web.Virtualization
@using Microsoft.JSInterop
@using SilverOS.Welcome.App
@using SilverOS.Welcome.App.Components
@using SilverOS.Welcome.App.Components.Steps
@using SilverOS.Welcome.Core.Flavours
@using SilverOS.Welcome.Core.Apply

View File

@@ -1,15 +1,10 @@
<Project Sdk="Microsoft.NET.Sdk.Razor">
<PropertyGroup>
<TargetFramework>net9.0-windows10.0.19041.0</TargetFramework>
<TargetFramework>net9.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<UseMaui>true</UseMaui>
<!-- Suppress MAUI OutputType so the test runner can pick up the dll -->
<OutputType>Library</OutputType>
<!-- Suppress MAUI implicit-package warnings; we only need the SDK for TFM compatibility -->
<SkipValidateMauiImplicitPackageReferences>true</SkipValidateMauiImplicitPackageReferences>
</PropertyGroup>
<ItemGroup>
@@ -26,7 +21,8 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\src\SilverOS.Welcome.App\SilverOS.Welcome.App.csproj" />
<ProjectReference Include="..\..\src\SilverOS.Welcome.UI\SilverOS.Welcome.UI.csproj" />
<ProjectReference Include="..\..\src\SilverOS.Welcome.Core\SilverOS.Welcome.Core.csproj" />
</ItemGroup>
</Project>