Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
f44a6f6
initial migration of runtime init support to base
Scottj1s Mar 12, 2026
84f13d5
Fix Base PR pipeline template paths
Scottj1s Mar 12, 2026
e88080a
Fix SetupBuildEnvironment parameter - only accepts IsOneBranch
Scottj1s Mar 12, 2026
8468f98
Fix build name and version: use CommonVariables version
Scottj1s Mar 12, 2026
e947e74
Add BuildBaseFoundation step to build Bootstrap binaries for Base pac…
Scottj1s Mar 12, 2026
5a7a72b
Fix BuildBaseFoundation: skip NugetRestore for SDK-style Bootstrap.Net
Scottj1s Mar 12, 2026
ddae029
Fix BuildBaseFoundation: build vcxproj directly, fix NuGet restore
Scottj1s Mar 13, 2026
d95b731
Decouple Bootstrap DLL from Foundation: use dynamic linkage
Scottj1s Mar 13, 2026
059c388
Rename BuildBaseFoundation to BuildBase - no Foundation dependency
Scottj1s Mar 13, 2026
01375ad
Move all Base content under base\ folder
Scottj1s Mar 13, 2026
71956e7
Add DeploymentManager requires Foundation validation
Scottj1s Mar 13, 2026
bb03efe
Fix Nightly/Official pipeline YAML paths for GitHub repo
Scottj1s Mar 13, 2026
778a94c
copyright headers
Scottj1s Mar 13, 2026
8826680
Fix CompatibilitySetter test imports to base\build\NuSpecs
Scottj1s Mar 13, 2026
bdceed3
Fix PayloadTracking template path for cross-repo reference
Scottj1s Mar 16, 2026
a23e064
Fix stages template path: relative to YAML file, not repo root
Scottj1s Mar 16, 2026
675c1e0
Remove PayloadTracking stage and unused repo resources from Base pipe…
Scottj1s Mar 16, 2026
26dcd7e
Fix Bootstrap DLL lifetime: use raw HMODULE to match delay-load seman…
Scottj1s Mar 16, 2026
44359ef
Fix Base Nightly/Official build name to use \ variable
Scottj1s Mar 16, 2026
bc1a2f4
Fix Bootstrap shutdown: call Win11 RemovePackageDependency on Win11 path
Scottj1s Mar 17, 2026
a49a2df
Update Base dependency version in Foundation's Version.Details.xml
Scottj1s Mar 19, 2026
98cd3ce
Fix Base package version to use component format (Major.Minor.YYMMDDn…
Scottj1s Mar 20, 2026
63c8b4d
Remove Bootstrap.lib and Bootstrap.dll references from Foundation nat…
Scottj1s Mar 20, 2026
34ab7d2
Update Base version to new format and add installer skip logging
Scottj1s Mar 23, 2026
bb3e8e7
Add retry logic to dotnet runtime installer download
Scottj1s Mar 23, 2026
0e35ef2
Make .NET 5 Desktop Runtime download non-blocking
Scottj1s Mar 24, 2026
7ba0bd3
Fix Base targets: link Bootstrap.lib for unpackaged apps only
Scottj1s Mar 24, 2026
5f6e841
Update Base dependency to 2.0.260324000-experimental
Scottj1s Mar 24, 2026
9295b3e
Fix SelfContained default: exclude packaged apps from auto-default
Scottj1s Mar 25, 2026
2be1a3f
Update Base dependency to 2.0.260325000-experimental
Scottj1s Mar 25, 2026
2778544
Fix framework-dependent error target: exclude packaged and component …
Scottj1s Mar 25, 2026
c2963fc
Update Base dependency to 2.0.260325001-experimental
Scottj1s Mar 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
267 changes: 244 additions & 23 deletions BuildAll.ps1

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions WindowsAppRuntime.sln
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DynamicDependency_Test_Win3
{F76B776E-86F5-48C5-8FC7-D2795ECC9746} = {F76B776E-86F5-48C5-8FC7-D2795ECC9746}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WindowsAppRuntime_BootstrapDLL", "dev\WindowsAppRuntime_BootstrapDLL\WindowsAppRuntime_BootstrapDLL.vcxproj", "{F76B776E-86F5-48C5-8FC7-D2795ECC9746}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WindowsAppRuntime_BootstrapDLL", "base\dev\WindowsAppRuntime_BootstrapDLL\WindowsAppRuntime_BootstrapDLL.vcxproj", "{F76B776E-86F5-48C5-8FC7-D2795ECC9746}"
ProjectSection(ProjectDependencies) = postProject
{B73AD907-6164-4294-88FB-F3C9C10DA1F1} = {B73AD907-6164-4294-88FB-F3C9C10DA1F1}
EndProjectSection
Expand Down Expand Up @@ -233,7 +233,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Bootstrap", "Bootstrap", "{
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CS", "CS", "{536FA8DA-51E2-40A3-8A97-A90FFA75AA18}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.WindowsAppRuntime.Bootstrap.Net", "dev\Bootstrap\CS\Microsoft.WindowsAppRuntime.Bootstrap.Net\Microsoft.WindowsAppRuntime.Bootstrap.Net.csproj", "{D6574FD6-8D13-4412-9FCB-308D44063CDA}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.WindowsAppRuntime.Bootstrap.Net", "base\dev\Bootstrap\CS\Microsoft.WindowsAppRuntime.Bootstrap.Net\Microsoft.WindowsAppRuntime.Bootstrap.Net.csproj", "{D6574FD6-8D13-4412-9FCB-308D44063CDA}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Windows.System.Power.Projection", "dev\Projections\CS\Microsoft.Windows.System.Power\Microsoft.Windows.System.Power.Projection.csproj", "{63ACBA4F-385A-4D04-98AD-263FED501A19}"
ProjectSection(ProjectDependencies) = postProject
Expand Down

Large diffs are not rendered by default.

32 changes: 32 additions & 0 deletions base/build/NuSpecs/Microsoft.WindowsAppSDK.Arm64Ec.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<!--
Copyright (c) Microsoft Corporation. Licensed under the MIT License
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" InitialTargets="ValidateArm64EcConfiguration;WebView2Arm64EcWorkaround">

<Target Name="ValidateArm64EcConfiguration" Condition="'$(ValidateArm64EcConfiguration)'!='false' and ('$(OutputType)'=='Exe' or '$(OutputType)'=='WinExe' or '$(OutputType)'=='Package')">
<Error Condition="'$(WindowsAppSdkSelfContained)'!='true' or '$(WindowsPackageType)'!='None'"
Text="Windows App SDK Arm64EC support currently requires WindowsAppSdkSelfContained=true and WindowsPackageType=None" />
</Target>

<!-- TEMPORARY: Work around WebView2 not supporting arm64ec, when WinAppSDK targets is imported before WebView2 targets -->
<ItemDefinitionGroup Condition="'$(EffectivePlatform)'=='arm64ec'">
<Link>
<AdditionalLibraryDirectories>$(WV2WinRTPath)..\..\build\native\x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
</Link>
</ItemDefinitionGroup>
<Target Name="WebView2Arm64EcWorkaround" Condition="'$(EffectivePlatform)'=='arm64ec'">
<PropertyGroup>
<WebView2BuildRoot>$([MSBuild]::NormalizePath($(WV2WinRTPath), "..\..\build\"))</WebView2BuildRoot>
</PropertyGroup>
<ItemGroup>
<ReferenceCopyLocalPaths Remove="$(WebView2BuildRoot)..\runtimes\win-arm64ec\native_uap\Microsoft.Web.WebView2.Core.dll"/>
<ReferenceCopyLocalPaths Include="$(WebView2BuildRoot)..\runtimes\win-x64\native_uap\Microsoft.Web.WebView2.Core.dll"/>
</ItemGroup>
</Target>

<!-- TEMPORARY: Work around WebView2 not supporting arm64ec, when WinAppSDK targets is imported after WebView2 targets -->
<PropertyGroup>
<EffectivePlatform>x64</EffectivePlatform>
</PropertyGroup>

</Project>
6 changes: 6 additions & 0 deletions base/build/NuSpecs/Microsoft.WindowsAppSDK.Base.Native.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<!--
Copyright (c) Microsoft Corporation. Licensed under the MIT License
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildThisFileDirectory)..\Microsoft.WindowsAppSDK.Base.props" />
</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata minClientVersion="3.3">
<id>Microsoft.WindowsAppSDK.Base.TransportPackage</id>
<version>1.0</version>
<title>$id$</title>
<authors>Microsoft</authors>
<description>Windows App SDK - Base Transport Package</description>
<license type="file">license.txt</license>
<requireLicenseAcceptance>true</requireLicenseAcceptance>
<projectUrl>https://aka.ms/windowsappsdk</projectUrl>
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
<tags>Microsoft Native Windows WindowsAppSDK</tags>
</metadata>
</package>
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<!-- Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT License. See LICENSE in the project root for license information. -->
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<PropertyGroup>
<WindowsAppSDKAggregatePackage>true</WindowsAppSDKAggregatePackage>
</PropertyGroup>

<Import Project="$(MSBuildThisFileDirectory)Microsoft.WindowsAppSDK.Base.props" />

</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT License. See LICENSE in the project root for license information. -->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<Import Project="$(MSBuildThisFileDirectory)Microsoft.WindowsAppSDK.Base.targets" />

</Project>
21 changes: 21 additions & 0 deletions base/build/NuSpecs/Microsoft.WindowsAppSDK.Base.nuspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata>
<id>Microsoft.WindowsAppSDK.Base</id>
<version>0.0.0.0</version>
<title>Microsoft Windows App SDK Base Package</title>
<authors>Microsoft</authors>
<owners>Microsoft</owners>
<requireLicenseAcceptance>true</requireLicenseAcceptance>
<license type="file">license.txt</license>
<projectUrl>https://github.com/microsoft/windowsappsdk</projectUrl>
<iconUrl>https://raw.githubusercontent.com/microsoft/WindowsAppSDK/main/assets/WindowsAppSDK64.png</iconUrl>
<description>The Windows App SDK empowers all Windows Desktop apps with modern Windows UI, APIs, and platform features, including back-compat support. This is a package that is used as a dependency by other Windows App SDK component packages and not meant to be directly referenced.</description>
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
<tags>Windows "Windows App SDK" WinAppSDK WinUI XAML Fluent Controls Downlevel Compatibility TreeView ColorPicker NavigationView MenuBar Resources Native DWriteCore "Interactive Experiences" ixp "Project Reunion" ProjectReunion</tags>
<dependencies>
<dependency id="Microsoft.Windows.SDK.BuildTools" version="10.0.26100.4654" />
<dependency id="Microsoft.Windows.SDK.BuildTools.MSIX" version="0.0.0.0" />
</dependencies>
</metadata>
</package>
23 changes: 23 additions & 0 deletions base/build/NuSpecs/Microsoft.WindowsAppSDK.Base.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!--
Copyright (c) Microsoft Corporation. Licensed under the MIT License
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<PrepareForBuildDependsOn>$(PrepareForBuildDependsOn);WindowsAppSDKVerifyKitVersion</PrepareForBuildDependsOn>
</PropertyGroup>

<Target Name="WindowsAppSDKVerifyKitVersion" Condition="'$(WindowsAppSDKVerifyKitVersion)'!='false' and '@(Midl)'!=''">
<PropertyGroup>
<WindowsAppSDKAtLeast22000>false</WindowsAppSDKAtLeast22000>
<WindowsAppSDKAtLeast22000 Condition="'$(TargetPlatformVersion)' &gt;= '10.0.22000.0'">true</WindowsAppSDKAtLeast22000>
</PropertyGroup>

<ItemGroup>
<!-- Checking if any component packages are experimental such as Microsoft.WindowsAppSDK[.Component].<ver>-experimental or Microsoft.WindowsAppSDK[.Component]\<ver>-experimental. -->
<!-- The regex doesn't directly check if it is experimental, but rather if it is not a preview or a stable build (with or without -stable suffix) to allow for components to use other suffixes. -->
<_ExperimentalPackages Include="@(WindowsAppSdkComponentPackages)" Condition="$([System.Text.RegularExpressions.Regex]::IsMatch('%(Identity)', 'Microsoft\.WindowsAppSDK([.\\][^\\]*)*-(?!stable)(?!preview)'))" />
</ItemGroup>

<Error Condition="$(WindowsAppSDKAtLeast22000) != 'true' and '@(_ExperimentalPackages)' != ''" Text="This version of Windows App SDK requires Windows SDK version 10.0.22000.0 or later." />
</Target>
</Project>
112 changes: 112 additions & 0 deletions base/build/NuSpecs/Microsoft.WindowsAppSDK.Base.targets
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
<!--
Copyright (c) Microsoft Corporation. Licensed under the MIT License
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" InitialTargets="WindowsAppSDKNotifySelfContainedMode;WindowsAppSDKFrameworkPackageDependentWithoutPackages">

<!-- Compute the effective minimum target platform version for OS-version-dependent behavior.
Prefers TargetPlatformMinVersion; falls back to TargetPlatformVersion if not set. -->
<PropertyGroup>
<_WindowsAppSDKMinTPV Condition="'$(TargetPlatformMinVersion)' != ''">$(TargetPlatformMinVersion)</_WindowsAppSDKMinTPV>
<_WindowsAppSDKMinTPV Condition="'$(_WindowsAppSDKMinTPV)' == ''">$(TargetPlatformVersion)</_WindowsAppSDKMinTPV>
</PropertyGroup>

<!-- Import shared targets (SC default, TPVBuild computation, validation targets) -->
<Import Project="$(MSBuildThisFileDirectory)Microsoft.WindowsAppSDK.BaseCommon.targets" />

<Import Project="$(MSBuildThisFileDirectory)Microsoft.WindowsAppSDK.SingleFile.targets" Condition="'$(PublishSingleFile)'=='true'"/>
<Import Project="$(MSBuildThisFileDirectory)Microsoft.WindowsAppSDK.SingleProject.targets" Condition="'$(EnableMsixTooling)'=='true'"/>

<!--Import Arm64EC configuration support -->
<Import Project="$(MSBuildThisFileDirectory)Microsoft.WindowsAppSDK.Arm64Ec.targets" Condition="'$(Platform)'=='arm64ec'"/>

<!--Import after all other props to ensure WindowsAppSDKSelfContained is set (required for SelfContained projects)-->
<Import Project="$(MSBuildThisFileDirectory)Microsoft.WindowsAppSDK.SelfContained.targets" Condition="'$(WindowsAppSDKSelfContained)'=='true'"/>

<!-- Bootstrapper and auto-initialization support -->
<Import Project="$(MSBuildThisFileDirectory)Microsoft.WindowsAppSDK.BootstrapCommon.targets" />
<Import Project="$(MSBuildThisFileDirectory)Microsoft.WindowsAppSDK.Bootstrap.CS.targets" Condition="'$(WindowsAppSdkBootstrapInitialize)' == 'true'"/>

<Import Project="$(MSBuildThisFileDirectory)Microsoft.WindowsAppSDK.UndockedRegFreeWinRTCommon.targets" />
<Import Project="$(MSBuildThisFileDirectory)Microsoft.WindowsAppSDK.UndockedRegFreeWinRT.CS.targets" Condition="'$(WindowsAppSdkUndockedRegFreeWinRTInitialize)' == 'true'"/>

<Import Project="$(MSBuildThisFileDirectory)Microsoft.WindowsAppSDK.DeploymentManagerCommon.targets" />
<Import Project="$(MSBuildThisFileDirectory)Microsoft.WindowsAppSDK.DeploymentManager.CS.targets" Condition="'$(WindowsAppSdkDeploymentManagerInitialize)' == 'true'"/>

<Import Project="$(MSBuildThisFileDirectory)Microsoft.WindowsAppSDK.CompatibilitySetter.CS.targets" />

<Import Project="$(MSBuildThisFileDirectory)Microsoft.WindowsAppSDK.AutoInitializerCommon.targets" />
<Import Project="$(MSBuildThisFileDirectory)Microsoft.WindowsAppSDK.AutoInitializer.CS.targets" Condition="'$(WindowsAppSdkAutoInitialize)' == 'true'"/>

<ItemGroup>
<Compile Condition="'$(WindowsAppSDKAggregatePackage)' == 'true' and '$(WindowsAppSdkIncludeVersionInfo)'=='true'" Include="$(MSBuildThisFileDirectory)..\include\WindowsAppSDK-VersionInfo.cs" />
</ItemGroup>

<!-- Remove Bootstrap binaries from output when they are not needed:
- SelfContained=true: OS provides dynamic dependency support
- BootstrapInitialize explicitly disabled (on Germanium+, where it's optional)
- Packaged apps (appxmanifest handles framework dependency) -->
<Target Name="WindowsAppSDKRemoveBootstrapFromOutput" BeforeTargets="_CopyFilesMarkedCopyLocal;CopyFilesToOutputDirectory"
Condition="'$(WindowsAppSDKSelfContained)'=='true' or ('$(WindowsAppSdkBootstrapInitialize)' == 'false' and '$(_WindowsAppSDKKeepBootstrapBinaries)' != 'true')">
<ItemGroup>
<ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" Condition="'%(Filename)' == 'Microsoft.WindowsAppRuntime.Bootstrap'" />
<ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" Condition="'%(Filename)' == 'Microsoft.WindowsAppRuntime.Bootstrap.Net'" />
<RuntimeCopyLocalItems Remove="@(RuntimeCopyLocalItems)" Condition="'%(Filename)' == 'Microsoft.WindowsAppRuntime.Bootstrap'" />
<NativeCopyLocalItems Remove="@(NativeCopyLocalItems)" Condition="'%(Filename)' == 'Microsoft.WindowsAppRuntime.Bootstrap'" />
</ItemGroup>
</Target>

<Target Name="RemoveVCLibsFrameworkPackageDependencies" BeforeTargets="_ConvertItems" AfterTargets="GetInstalledSDKLocations" Condition="'$(MSBuildProjectExtension)'=='.wapproj'">
<ItemGroup>
<!-- Remove VCLibs references made by DesktopBridge _ResolveVCLibDependencies -->
<FrameworkSdkPackage Remove="@(FrameworkPackageDependencies)"/>
<!-- And prevent additional VCLibs references made by DesktopBridge _ConvertItems -->
<InstalledSDKLocations Remove="@(InstalledSDKLocations)" />
</ItemGroup>
</Target>

<PropertyGroup>
<ResolveReferencesDependsOn Condition="'$(MSBuildProjectExtension)'=='.csproj' and '$(WindowsAppSDKVerifyCsWinRtVersions)'!='false' and '$(WindowsAppSDKVerifyWinrtRuntimeVersion)'!='false'">
$(ResolveReferencesDependsOn);WindowsAppSDKVerifyCsWinRtVersions
</ResolveReferencesDependsOn>
</PropertyGroup>
<Target Name="WindowsAppSDKVerifyCsWinRtVersions" DependsOnTargets="ResolveAssemblyReferences">
<PropertyGroup>
<_TargetFrameworkRequired>6.0</_TargetFrameworkRequired>
<_TargetFrameworkCompatible Condition="$([MSBuild]::VersionGreaterThanOrEquals($(TargetFrameworkVersion), '$(_TargetFrameworkRequired)'))">True</_TargetFrameworkCompatible>
</PropertyGroup>
<ItemGroup>
<_WindowsSdkPackage Include="$(WindowsSdkPackageVersion)" Condition="'$(WindowsSdkPackageVersion)' != ''">
<Referenced>$(WindowsSdkPackageVersion)</Referenced>
<Required>10.0.$([System.Version]::Parse("$(WindowsSdkPackageVersion.Split('-')[0])").Build).38</Required>
</_WindowsSdkPackage>
<_WindowsSdkPackage Include="@(ResolvedFrameworkReference)" Condition="'$(WindowsSdkPackageVersion)' == '' and '@(ResolvedFrameworkReference)' != '' and
('%(Identity)' == 'Microsoft.Windows.SDK.NET.Ref' or '%(Identity)' == 'Microsoft.Windows.SDK.NET.Ref.Windows')">
<Referenced>%(ResolvedFrameworkReference.TargetingPackVersion)</Referenced>
<Required>10.0.$([System.Version]::Parse("%(ResolvedFrameworkReference.TargetingPackVersion)").Build).38</Required>
</_WindowsSdkPackage>
<_WindowsSdkCompatible Include="@(_WindowsSdkPackage)" Condition="'@(_WindowsSdkPackage)' != '' and $([MSBuild]::VersionGreaterThanOrEquals(%(Referenced), %(Required)))" />
</ItemGroup>
<PropertyGroup>
<_WindowsSdkPackageRequired>@(_WindowsSdkPackage->'%(Required)')</_WindowsSdkPackageRequired>
</PropertyGroup>
<Error Condition="'$(_TargetFrameworkCompatible)'!='True'"
Text="This version of the Windows App SDK requires .NET $(_TargetFrameworkRequired).
Please update your TargetFramework to specify net$(_TargetFrameworkRequired) or later.
" />
<Error Condition="'$(_WindowsSdkPackageRequired)'==''"
Text="The Windows App SDK requires a specific target OS version. Please set the &lt;TargetFramework&gt; property to an appropriate value. For more information, visit https://aka.ms/winappsdk.TFM."
HelpLink="https://aka.ms/winappsdk.TFM" />
<Error Condition="'@(_WindowsSdkCompatible)'==''"
Text="This version of the Windows App SDK requires Microsoft.Windows.SDK.NET.Ref $(_WindowsSdkPackageRequired) or later. Please add property &lt;WindowsSdkPackageVersion&gt;$(_WindowsSdkPackageRequired)&lt;/WindowsSdkPackageVersion&gt; to your project. For more information, visit https://aka.ms/winappsdk.winsdkpkg."
HelpLink="https://aka.ms/winappsdk.winsdkpkg" />
<Warning Condition="'$(CsWinRTAotOptimizerEnabled)' == '' and '$(PublishAot)'=='true'"
Text="This version of the Windows App SDK requires CsWinRTAotOptimizerEnabled set to enable PublishAot support.
This will be automatically set if you update to .NET SDK 6.0.134, 6.0.426, 8.0.109, 8.0.305 or 8.0.402 (or later).
Or you can add a reference to the Microsoft.Windows.CsWinRT 2.1.1 (or later) NuGet package which will also set it.
" />

<Warning Condition="'$(CsWinRTAotOptimizerEnabled)' != '' and '$(CsWinRTAotOptimizerEnabled)' != 'true' and '$(PublishAot)'=='true'"
Text="This version of the Windows App SDK requires CsWinRTAotOptimizerEnabled set to true to enable PublishAot support." />
</Target>

</Project>
Loading