diff --git a/.vsts-ci.yml b/.vsts-ci.yml
index 59e8743f7c7d..a1c2a8ee1900 100644
--- a/.vsts-ci.yml
+++ b/.vsts-ci.yml
@@ -77,6 +77,13 @@ jobs:
parameters:
poolName: '$(windowsScaledPool)'
+- template: build/ci/.azure-devops-package-wasm.yml
+ parameters:
+ vmImage: '$(linuxVMImage)'
+
+- template: build/ci/.azure-devops-package-skia.yml
+ parameters:
+ poolName: '$(windowsScaledPool)'
- template: build/ci/.azure-devops-package.yml
parameters:
poolName: '$(windowsScaledPool)'
diff --git a/build/Uno.UI.Build.csproj b/build/Uno.UI.Build.csproj
index 3d40bceb513c..a31c2170f53f 100644
--- a/build/Uno.UI.Build.csproj
+++ b/build/Uno.UI.Build.csproj
@@ -43,29 +43,21 @@
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
@@ -221,14 +213,13 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build/Uno.WinUI.nuspec b/build/Uno.WinUI.nuspec
index 40904e44130e..1dce17629eb4 100644
--- a/build/Uno.WinUI.nuspec
+++ b/build/Uno.WinUI.nuspec
@@ -92,7 +92,18 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -133,6 +144,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -482,56 +508,108 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -573,6 +651,7 @@
+
@@ -583,6 +662,7 @@
+
@@ -593,6 +673,7 @@
+
@@ -603,6 +684,7 @@
+
@@ -613,6 +695,7 @@
+
@@ -623,6 +706,7 @@
+
diff --git a/build/ci/.azure-devops-package-skia.yml b/build/ci/.azure-devops-package-skia.yml
new file mode 100644
index 000000000000..1794896360cb
--- /dev/null
+++ b/build/ci/.azure-devops-package-skia.yml
@@ -0,0 +1,66 @@
+parameters:
+ poolName: ''
+
+jobs:
+- job: wasm_package_build
+ displayName: 'Build WebAssembly Package Binaries'
+ container: nv-bionic-wasm
+
+ dependsOn: winui_convert_tree
+
+ pool: ${{ parameters.poolName }}
+
+ strategy:
+ matrix:
+ UWP:
+ UNO_UWP_BUILD: true
+ XAML_FLAVOR_BUILD: UWP
+
+ WinUI:
+ UNO_UWP_BUILD: false
+ XAML_FLAVOR_BUILD: WinUI
+
+ variables:
+ CombinedConfiguration: Release|Any CPU
+ CI_Build: true
+
+ # Disable .NET 5 build on CI for package generation
+ # Build validation is performed on other jobs
+ UnoUIDisableNetCoreBuild: true
+
+ NUGET_PACKAGES: $(build.sourcesdirectory)/.nuget
+
+ steps:
+ - checkout: self
+ clean: true
+
+ - template: templates/download-winui-converted-tree.yml
+
+ - template: templates/nuget-cache.yml
+ parameters:
+ nugetPackages: $(NUGET_PACKAGES)
+
+ - template: templates/gitversion.yml
+
+ - template: templates/dotnet-install.yml
+
+ - powershell: |
+ Set-PSDebug -Trace 1
+ dotnet build build/Uno.UI.Build.csproj /m /t:BuildCIWasm "/p:CombinedConfiguration=$(CombinedConfiguration)" /detailedsummary /bl:$(build.artifactstagingdirectory)/build-skia-$(XAML_FLAVOR_BUILD).binlog
+ displayName: Building Skia Binaries
+
+ - template: templates/copy-package-assets.yml
+
+ - task: ArchiveFiles@2
+ inputs:
+ rootFolderOrFile: $(build.sourcesdirectory)\build-artifacts\bin-$(XAML_FLAVOR_BUILD)
+ includeRootFolder: false
+ archiveType: 'zip'
+ archiveFile: '$(Build.ArtifactStagingDirectory)/skia-bin-$(XAML_FLAVOR_BUILD).zip'
+
+ - task: PublishBuildArtifacts@1
+ condition: always()
+ inputs:
+ PathtoPublish: $(build.artifactstagingdirectory)
+ ArtifactName: NugetPackages-Artifacts
+ ArtifactType: Container
diff --git a/build/ci/.azure-devops-package-wasm.yml b/build/ci/.azure-devops-package-wasm.yml
new file mode 100644
index 000000000000..cdd0eeb3f45e
--- /dev/null
+++ b/build/ci/.azure-devops-package-wasm.yml
@@ -0,0 +1,67 @@
+parameters:
+ poolName: ''
+
+jobs:
+- job: wasm_package_build
+ displayName: 'Build WebAssembly Package Binaries'
+ container: nv-bionic-wasm
+
+ dependsOn: winui_convert_tree
+
+ pool:
+ vmImage: ${{ parameters.vmImage }}
+
+ strategy:
+ matrix:
+ UWP:
+ UNO_UWP_BUILD: true
+ XAML_FLAVOR_BUILD: UWP
+
+ WinUI:
+ UNO_UWP_BUILD: false
+ XAML_FLAVOR_BUILD: WinUI
+
+ variables:
+ CombinedConfiguration: Release|Any CPU
+ CI_Build: true
+
+ # Disable .NET 5 build on CI for package generation
+ # Build validation is performed on other jobs
+ UnoUIDisableNetCoreBuild: true
+
+ NUGET_PACKAGES: $(build.sourcesdirectory)/.nuget
+
+ steps:
+ - checkout: self
+ clean: true
+
+ - template: templates/download-winui-converted-tree.yml
+
+ - template: templates/nuget-cache.yml
+ parameters:
+ nugetPackages: $(NUGET_PACKAGES)
+
+ - template: templates/gitversion.yml
+
+ - template: templates/dotnet-install.yml
+
+ - powershell: |
+ Set-PSDebug -Trace 1
+ dotnet build build/Uno.UI.Build.csproj /m /t:BuildCIWasm "/p:CombinedConfiguration=$(CombinedConfiguration)" /detailedsummary /bl:$(build.artifactstagingdirectory)/build-wasm-$(XAML_FLAVOR_BUILD).binlog
+ displayName: Building Wasm Binaries
+
+ - template: templates/copy-package-assets.yml
+
+ - task: ArchiveFiles@2
+ inputs:
+ rootFolderOrFile: $(build.sourcesdirectory)\build-artifacts\bin-$(XAML_FLAVOR_BUILD)
+ includeRootFolder: false
+ archiveType: 'zip'
+ archiveFile: '$(Build.ArtifactStagingDirectory)/wasm-bin-$(XAML_FLAVOR_BUILD).zip'
+
+ - task: PublishBuildArtifacts@1
+ condition: always()
+ inputs:
+ PathtoPublish: $(build.artifactstagingdirectory)
+ ArtifactName: NugetPackages-Artifacts
+ ArtifactType: Container
diff --git a/build/ci/templates/dotnet-install.yml b/build/ci/templates/dotnet-install.yml
index ab8d06037a38..ace7e37b9895 100644
--- a/build/ci/templates/dotnet-install.yml
+++ b/build/ci/templates/dotnet-install.yml
@@ -1,22 +1,9 @@
steps:
- task: UseDotNet@2
- displayName: 'Use .NET Core SDK 6.0.300'
+ displayName: 'Use .NET Core SDK 7.0.100-rc.1.22431.12'
retryCountOnTaskFailure: 3
inputs:
packageType: sdk
- version: 6.0.300
-
- - task: UseDotNet@2
- displayName: 'Use .NET Core SDK 5.0.400'
- retryCountOnTaskFailure: 3
- inputs:
- packageType: sdk
- version: 5.0.400
-
- - task: UseDotNet@2
- displayName: 'Use .NET Core SDK 3.1.406'
- retryCountOnTaskFailure: 3
- inputs:
- packageType: sdk
- version: 3.1.406
+ includePreviewVersions: true
+ version: 7.0.100-rc.1.22431.12
diff --git a/src/Uno.UI-packages-no-net6.slnf b/build/filters/Uno.UI-packages-no-net6.slnf
similarity index 66%
rename from src/Uno.UI-packages-no-net6.slnf
rename to build/filters/Uno.UI-packages-no-net6.slnf
index 3fdb11f935f7..13736c52b9ee 100644
--- a/src/Uno.UI-packages-no-net6.slnf
+++ b/build/filters/Uno.UI-packages-no-net6.slnf
@@ -1,13 +1,9 @@
{
"solution": {
- "path": "Uno.UI.sln",
+ "path": "..\\..\\src\\Uno.UI.sln",
"projects": [
"..\\build\\Uno.UI.Build.csproj",
- "AddIns\\Uno.UI.Lottie\\Uno.UI.Lottie.Skia.csproj",
- "AddIns\\Uno.UI.Lottie\\Uno.UI.Lottie.Wasm.csproj",
"AddIns\\Uno.UI.Lottie\\Uno.UI.Lottie.csproj",
- "AddIns\\Uno.UI.MSAL\\Uno.UI.MSAL.Skia.csproj",
- "AddIns\\Uno.UI.MSAL\\Uno.UI.MSAL.Wasm.csproj",
"AddIns\\Uno.UI.MSAL\\Uno.UI.MSAL.csproj",
"ResourceConverter\\ResourceConverter.csproj",
"SolutionTemplate\\Uno.ProjectTemplates.Dotnet\\Uno.ProjectTemplates.Dotnet.csproj",
@@ -34,65 +30,35 @@
"Uno.Analyzers\\Uno.Analyzers.csproj",
"Uno.Foundation.Logging\\Uno.Foundation.Logging.csproj",
"Uno.Foundation.Runtime.WebAssembly\\Uno.Foundation.Runtime.WebAssembly.csproj",
- "Uno.Foundation\\Uno.Foundation.Skia.csproj",
- "Uno.Foundation\\Uno.Foundation.Wasm.csproj",
"Uno.Foundation\\Uno.Foundation.csproj",
"Uno.NUnitTransformTool\\Uno.NUnitTransformTool.csproj",
"Uno.ReferenceImplComparer\\Uno.ReferenceImplComparer.csproj",
"Uno.UI.Adapter.Microsoft.Extensions.Logging\\Uno.UI.Adapter.Microsoft.Extensions.Logging.csproj",
"Uno.UI.AssemblyComparer\\Uno.UI.AssemblyComparer.csproj",
"Uno.UI.BindingHelper.Android\\Uno.UI.BindingHelper.Android.csproj",
- "Uno.UI.Composition\\Uno.UI.Composition.Skia.csproj",
- "Uno.UI.Composition\\Uno.UI.Composition.Wasm.csproj",
"Uno.UI.Composition\\Uno.UI.Composition.csproj",
- "Uno.UI.Dispatching\\Uno.UI.Dispatching.Skia.csproj",
- "Uno.UI.Dispatching\\Uno.UI.Dispatching.Wasm.csproj",
"Uno.UI.Dispatching\\Uno.UI.Dispatching.csproj",
- "Uno.UI.FluentTheme.v1\\Uno.UI.FluentTheme.v1.Skia.csproj",
- "Uno.UI.FluentTheme.v1\\Uno.UI.FluentTheme.v1.Wasm.csproj",
"Uno.UI.FluentTheme.v1\\Uno.UI.FluentTheme.v1.csproj",
- "Uno.UI.FluentTheme.v2\\Uno.UI.FluentTheme.v2.Skia.csproj",
- "Uno.UI.FluentTheme.v2\\Uno.UI.FluentTheme.v2.Wasm.csproj",
"Uno.UI.FluentTheme.v2\\Uno.UI.FluentTheme.v2.csproj",
"Uno.UI.Foldable\\Uno.UI.Foldable.csproj",
- "Uno.UI.FluentTheme\\Uno.UI.FluentTheme.Skia.csproj",
- "Uno.UI.FluentTheme\\Uno.UI.FluentTheme.Wasm.csproj",
"Uno.UI.FluentTheme\\Uno.UI.FluentTheme.csproj",
- "Uno.UI.XamlHost.Skia.Wpf\\Uno.UI.XamlHost.Skia.Wpf.csproj",
"Uno.UI.XamlHost\\Uno.UI.XamlHost.csproj",
- "Uno.UI.XamlHost\\Uno.UI.XamlHost.Skia.csproj",
- "Uno.UI.XamlHost\\Uno.UI.XamlHost.Wasm.csproj",
"Uno.UI.Maps\\Uno.UI.Maps.csproj",
"Uno.UI.RemoteControl.Host\\Uno.UI.RemoteControl.Host.csproj",
"Uno.UI.RemoteControl.VS\\Uno.UI.RemoteControl.VS.csproj",
- "Uno.UI.RemoteControl\\Uno.UI.RemoteControl.Skia.csproj",
- "Uno.UI.RemoteControl\\Uno.UI.RemoteControl.Wasm.csproj",
"Uno.UI.RemoteControl\\Uno.UI.RemoteControl.csproj",
- "Uno.UI.Runtime.Skia.Gtk\\Uno.UI.Runtime.Skia.Gtk.csproj",
- "Uno.UI.Runtime.Skia.Linux.FrameBuffer\\Uno.UI.Runtime.Skia.Linux.FrameBuffer.csproj",
- "Uno.UI.Runtime.Skia.Tizen\\Uno.UI.Runtime.Skia.Tizen.csproj",
- "Uno.UI.Runtime.Skia.Wpf\\Uno.UI.Runtime.Skia.Wpf.csproj",
"Uno.UI.Runtime.WebAssembly.Compatibility\\Uno.UI.Runtime.WebAssembly.Compatibility.csproj",
"Uno.UI.Runtime.WebAssembly\\Uno.UI.Runtime.WebAssembly.csproj",
- "Uno.UI.RuntimeTests\\Uno.UI.RuntimeTests.Skia.csproj",
- "Uno.UI.RuntimeTests\\Uno.UI.RuntimeTests.Wasm.csproj",
"Uno.UI.RuntimeTests\\Uno.UI.RuntimeTests.csproj",
"Uno.UI.TestComparer\\Uno.UI.TestComparer.csproj",
"Uno.UI.Tests.Performance\\Uno.UI.Tests.Performance.csproj",
"Uno.UI.Tests.ViewLibraryProps\\Uno.UI.Tests.ViewLibraryProps.csproj",
"Uno.UI.Tests.ViewLibrary\\Uno.UI.Tests.ViewLibrary.csproj",
"Uno.UI.Tests\\Uno.UI.Tests.csproj",
- "Uno.UI.Toolkit\\Uno.UI.Toolkit.Skia.csproj",
- "Uno.UI.Toolkit\\Uno.UI.Toolkit.Wasm.csproj",
"Uno.UI.Toolkit\\Uno.UI.Toolkit.csproj",
- "Uno.UI.Wasm.Tests\\Uno.UI.Wasm.Tests.csproj",
- "Uno.UI\\Uno.UI.Skia.csproj",
- "Uno.UI\\Uno.UI.Wasm.csproj",
"Uno.UI\\Uno.UI.csproj",
"Uno.UWPSyncGenerator.Reference\\Uno.UWPSyncGenerator.Reference.csproj",
"Uno.UWPSyncGenerator\\Uno.UWPSyncGenerator.csproj",
- "Uno.UWP\\Uno.Skia.csproj",
- "Uno.UWP\\Uno.Wasm.csproj",
"Uno.UWP\\Uno.csproj",
"Uno.WinUIRevert\\Uno.WinUIRevert.csproj",
"UnoItemTemplate\\UnoItemTemplate.csproj"
diff --git a/build/filters/Uno.UI-packages-skia.slnf b/build/filters/Uno.UI-packages-skia.slnf
new file mode 100644
index 000000000000..109036e7daf5
--- /dev/null
+++ b/build/filters/Uno.UI-packages-skia.slnf
@@ -0,0 +1,51 @@
+{
+ "solution": {
+ "path": "Uno.UI.sln",
+ "projects": [
+ "AddIns\\Uno.UI.Lottie\\Uno.UI.Lottie.Skia.csproj",
+ "AddIns\\Uno.UI.MSAL\\Uno.UI.MSAL.Skia.csproj",
+ "SamplesApp\\Benchmarks.Shared\\SamplesApp.Benchmarks.shproj",
+ "SamplesApp\\SamplesApp.Shared\\SamplesApp.Shared.shproj",
+ "SamplesApp\\SamplesApp.Skia.Gtk\\SamplesApp.Skia.Gtk.csproj",
+ "SamplesApp\\SamplesApp.Skia.Linux.FrameBuffer\\SamplesApp.Skia.Linux.FrameBuffer.csproj",
+ "SamplesApp\\SamplesApp.Skia.Tizen\\SamplesApp.Skia.Tizen.csproj",
+ "SamplesApp\\SamplesApp.Skia.WPF\\SamplesApp.Skia.WPF.csproj",
+ "SamplesApp\\SamplesApp.Skia\\SamplesApp.Skia.csproj",
+ "SamplesApp\\SamplesApp.UITests.Generator\\Uno.Samples.UITest.Generator.csproj",
+ "SamplesApp\\SamplesApp.UITests\\SamplesApp.UITests.csproj",
+ "SamplesApp\\SamplesApp.UWP.Design\\SamplesApp.UWP.Design.csproj",
+ "SamplesApp\\SamplesApp.UnitTests.Shared\\SamplesApp.UnitTests.Shared.shproj",
+ "SamplesApp\\UITests.Shared\\UITests.Shared.shproj",
+ "SamplesApp\\UnoIslands.Shared\\UnoIslands.Shared.shproj",
+ "SamplesApp\\UnoIslands.Skia\\UnoIslands.Skia.csproj",
+ "SamplesApp\\UnoIslands.WPF\\UnoIslands.Skia.Wpf.csproj",
+ "SamplesApp\\UnoIslands.WinForms\\UnoIslands.WinForms.csproj",
+ "SolutionTemplate\\Uno.ProjectTemplates.Dotnet\\Uno.ProjectTemplates.Dotnet.csproj",
+ "SourceGenerators\\System.Xaml\\Uno.Xaml.csproj",
+ "SourceGenerators\\Uno.UI.SourceGenerators.Internal\\Uno.UI.SourceGenerators.Internal.csproj",
+ "SourceGenerators\\Uno.UI.SourceGenerators\\Uno.UI.SourceGenerators.csproj",
+ "SourceGenerators\\Uno.UI.Tasks\\Uno.UI.Tasks.csproj",
+ "T4Generator\\T4Generator.csproj",
+ "Uno.Foundation.Logging\\Uno.Foundation.Logging.csproj",
+ "Uno.Foundation\\Uno.Foundation.Skia.csproj",
+ "Uno.UI.Adapter.Microsoft.Extensions.Logging\\Uno.UI.Adapter.Microsoft.Extensions.Logging.csproj",
+ "Uno.UI.Composition\\Uno.UI.Composition.Skia.csproj",
+ "Uno.UI.Dispatching\\Uno.UI.Dispatching.Skia.csproj",
+ "Uno.UI.FluentTheme.v1\\Uno.UI.FluentTheme.v1.Skia.csproj",
+ "Uno.UI.FluentTheme.v2\\Uno.UI.FluentTheme.v2.Skia.csproj",
+ "Uno.UI.FluentTheme\\Uno.UI.FluentTheme.Skia.csproj",
+ "Uno.UI.RemoteControl.Server\\Uno.UI.RemoteControl.Server.csproj",
+ "Uno.UI.RemoteControl\\Uno.UI.RemoteControl.Skia.csproj",
+ "Uno.UI.Runtime.Skia.Gtk\\Uno.UI.Runtime.Skia.Gtk.csproj",
+ "Uno.UI.Runtime.Skia.Linux.FrameBuffer\\Uno.UI.Runtime.Skia.Linux.FrameBuffer.csproj",
+ "Uno.UI.Runtime.Skia.Tizen\\Uno.UI.Runtime.Skia.Tizen.csproj",
+ "Uno.UI.Runtime.Skia.Wpf\\Uno.UI.Runtime.Skia.Wpf.csproj",
+ "Uno.UI.RuntimeTests\\Uno.UI.RuntimeTests.Skia.csproj",
+ "Uno.UI.Toolkit\\Uno.UI.Toolkit.Skia.csproj",
+ "Uno.UI.XamlHost.Skia.Wpf\\Uno.UI.XamlHost.Skia.Wpf.csproj",
+ "Uno.UI.XamlHost\\Uno.UI.XamlHost.Skia.csproj",
+ "Uno.UI\\Uno.UI.Skia.csproj",
+ "Uno.UWP\\Uno.Skia.csproj"
+ ]
+ }
+}
diff --git a/build/filters/Uno.UI-packages-wasm.slnf b/build/filters/Uno.UI-packages-wasm.slnf
new file mode 100644
index 000000000000..2d9858648691
--- /dev/null
+++ b/build/filters/Uno.UI-packages-wasm.slnf
@@ -0,0 +1,42 @@
+{
+ "solution": {
+ "path": "..\\..\\src\\Uno.UI.sln",
+ "projects": [
+ "AddIns\\Uno.UI.Lottie\\Uno.UI.Lottie.Wasm.csproj",
+ "AddIns\\Uno.UI.MSAL\\Uno.UI.MSAL.Wasm.csproj",
+ "SamplesApp\\Benchmarks.Shared\\SamplesApp.Benchmarks.shproj",
+ "SamplesApp\\SamplesApp.Shared\\SamplesApp.Shared.shproj",
+ "SamplesApp\\SamplesApp.UITests.Generator\\Uno.Samples.UITest.Generator.csproj",
+ "SamplesApp\\SamplesApp.UITests\\SamplesApp.UITests.csproj",
+ "SamplesApp\\SamplesApp.UnitTests.Shared\\SamplesApp.UnitTests.Shared.shproj",
+ "SamplesApp\\SamplesApp.Wasm\\SamplesApp.Wasm.csproj",
+ "SamplesApp\\UITests.Shared\\UITests.Shared.shproj",
+ "SourceGenerators\\System.Xaml\\Uno.Xaml.csproj",
+ "SourceGenerators\\Uno.UI.SourceGenerators.Internal\\Uno.UI.SourceGenerators.Internal.csproj",
+ "SourceGenerators\\Uno.UI.SourceGenerators\\Uno.UI.SourceGenerators.csproj",
+ "SourceGenerators\\Uno.UI.Tasks\\Uno.UI.Tasks.csproj",
+ "T4Generator\\T4Generator.csproj",
+ "Uno.Foundation.Logging\\Uno.Foundation.Logging.csproj",
+ "Uno.Foundation.Runtime.WebAssembly\\Uno.Foundation.Runtime.WebAssembly.csproj",
+ "Uno.Foundation\\Uno.Foundation.Wasm.csproj",
+ "Uno.UI.Adapter.Microsoft.Extensions.Logging\\Uno.UI.Adapter.Microsoft.Extensions.Logging.csproj",
+ "Uno.UI.Composition\\Uno.UI.Composition.Wasm.csproj",
+ "Uno.UI.Dispatching\\Uno.UI.Dispatching.Wasm.csproj",
+ "Uno.UI.FluentTheme.v1\\Uno.UI.FluentTheme.v1.Wasm.csproj",
+ "Uno.UI.FluentTheme.v2\\Uno.UI.FluentTheme.v2.Wasm.csproj",
+ "Uno.UI.FluentTheme\\Uno.UI.FluentTheme.Wasm.csproj",
+ "Uno.UI.RemoteControl.Host\\Uno.UI.RemoteControl.Host.csproj",
+ "Uno.UI.RemoteControl.Server.Processors\\Uno.UI.RemoteControl.Server.Processors.csproj",
+ "Uno.UI.RemoteControl.Server\\Uno.UI.RemoteControl.Server.csproj",
+ "Uno.UI.RemoteControl.VS\\Uno.UI.RemoteControl.VS.csproj",
+ "Uno.UI.RemoteControl\\Uno.UI.RemoteControl.Wasm.csproj",
+ "Uno.UI.Runtime.WebAssembly.Compatibility\\Uno.UI.Runtime.WebAssembly.Compatibility.csproj",
+ "Uno.UI.Runtime.WebAssembly\\Uno.UI.Runtime.WebAssembly.csproj",
+ "Uno.UI.RuntimeTests\\Uno.UI.RuntimeTests.Wasm.csproj",
+ "Uno.UI.Toolkit\\Uno.UI.Toolkit.Wasm.csproj",
+ "Uno.UI.Wasm.Tests\\Uno.UI.Wasm.Tests.csproj",
+ "Uno.UI\\Uno.UI.Wasm.csproj",
+ "Uno.UWP\\Uno.Wasm.csproj"
+ ]
+ }
+}
diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets
index e471f18581ef..dbc7b5a41969 100644
--- a/src/Directory.Build.targets
+++ b/src/Directory.Build.targets
@@ -50,8 +50,8 @@
-
-
+
+
diff --git a/src/PlatformItemGroups.props b/src/PlatformItemGroups.props
index f702df5e5d90..815c555d9848 100644
--- a/src/PlatformItemGroups.props
+++ b/src/PlatformItemGroups.props
@@ -17,7 +17,7 @@
<_IsNet Condition="'$(TargetFramework)'=='net461'">true
<_IsNetCore>false
- <_IsNetCore Condition="'$(TargetFramework)'=='net5.0'">true
+ <_IsNetCore Condition="'$(TargetFramework)'=='net5.0' or '$(TargetFramework)'=='net6.0' or '$(TargetFramework)'=='net7.0'">true
<_IsNetStd>false
<_IsNetStd Condition="'$(TargetFramework)'=='netstandard2.0' or $(_IsNetCore)">true
diff --git a/src/SamplesApp/SamplesApp.Wasm/SamplesApp.Wasm.csproj b/src/SamplesApp/SamplesApp.Wasm/SamplesApp.Wasm.csproj
index 7c08db3a50ef..37c0d0a32589 100644
--- a/src/SamplesApp/SamplesApp.Wasm/SamplesApp.Wasm.csproj
+++ b/src/SamplesApp/SamplesApp.Wasm/SamplesApp.Wasm.csproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net7.0
$(DefineConstants);__WASM__;HAS_UNO;UNO_REFERENCE_API
$(NoWarn);NU1701;CS1998;NU1504;UXAML0002
$(NoWarn);CA1834
@@ -64,7 +64,6 @@
-
@@ -76,7 +75,7 @@
-
+
diff --git a/src/Uno.Foundation.Logging/Uno.Foundation.Logging.csproj b/src/Uno.Foundation.Logging/Uno.Foundation.Logging.csproj
index 28cf194f576d..7bddf84f7a66 100644
--- a/src/Uno.Foundation.Logging/Uno.Foundation.Logging.csproj
+++ b/src/Uno.Foundation.Logging/Uno.Foundation.Logging.csproj
@@ -1,8 +1,12 @@
-
+
xamarinmac20;xamarinios10;MonoAndroid12.0;net461;netstandard2.0
MonoAndroid11.0;MonoAndroid12.0;xamarinios10;net461;netstandard2.0;xamarinmac20
+
+
+ netstandard2.0;net7.0
+
$(UnoTargetFrameworkOverride)
diff --git a/src/Uno.Foundation.Runtime.WebAssembly/Uno.Foundation.Runtime.WebAssembly.csproj b/src/Uno.Foundation.Runtime.WebAssembly/Uno.Foundation.Runtime.WebAssembly.csproj
index 895a38f7d8f1..f3ecb52c407e 100644
--- a/src/Uno.Foundation.Runtime.WebAssembly/Uno.Foundation.Runtime.WebAssembly.csproj
+++ b/src/Uno.Foundation.Runtime.WebAssembly/Uno.Foundation.Runtime.WebAssembly.csproj
@@ -1,6 +1,6 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.Foundation/Uno.Foundation.Skia.csproj b/src/Uno.Foundation/Uno.Foundation.Skia.csproj
index d6b8f76d4bef..103d6a290ede 100644
--- a/src/Uno.Foundation/Uno.Foundation.Skia.csproj
+++ b/src/Uno.Foundation/Uno.Foundation.Skia.csproj
@@ -1,6 +1,6 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.Foundation/Uno.Foundation.Wasm.csproj b/src/Uno.Foundation/Uno.Foundation.Wasm.csproj
index a9c47fe1eabd..85c0415af9a7 100644
--- a/src/Uno.Foundation/Uno.Foundation.Wasm.csproj
+++ b/src/Uno.Foundation/Uno.Foundation.Wasm.csproj
@@ -1,6 +1,6 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UI.Adapter.Microsoft.Extensions.Logging/Uno.UI.Adapter.Microsoft.Extensions.Logging.csproj b/src/Uno.UI.Adapter.Microsoft.Extensions.Logging/Uno.UI.Adapter.Microsoft.Extensions.Logging.csproj
index 1add0dae5719..01b747361c4b 100644
--- a/src/Uno.UI.Adapter.Microsoft.Extensions.Logging/Uno.UI.Adapter.Microsoft.Extensions.Logging.csproj
+++ b/src/Uno.UI.Adapter.Microsoft.Extensions.Logging/Uno.UI.Adapter.Microsoft.Extensions.Logging.csproj
@@ -1,9 +1,13 @@
-
+
xamarinmac20;xamarinios10;MonoAndroid12.0;net461;netstandard2.0
MonoAndroid11.0;MonoAndroid12.0;xamarinios10;net461;netstandard2.0;xamarinmac20
+
+ netstandard2.0;net7.0
+
+
$(UnoTargetFrameworkOverride)
diff --git a/src/Uno.UI.Composition/Uno.UI.Composition.Skia.csproj b/src/Uno.UI.Composition/Uno.UI.Composition.Skia.csproj
index cf7f1ba0626a..05ba645809ce 100644
--- a/src/Uno.UI.Composition/Uno.UI.Composition.Skia.csproj
+++ b/src/Uno.UI.Composition/Uno.UI.Composition.Skia.csproj
@@ -1,6 +1,6 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UI.Composition/Uno.UI.Composition.Wasm.csproj b/src/Uno.UI.Composition/Uno.UI.Composition.Wasm.csproj
index da432f986aef..1f41b592ab4c 100644
--- a/src/Uno.UI.Composition/Uno.UI.Composition.Wasm.csproj
+++ b/src/Uno.UI.Composition/Uno.UI.Composition.Wasm.csproj
@@ -1,7 +1,7 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UI.Dispatching/Uno.UI.Dispatching.Skia.csproj b/src/Uno.UI.Dispatching/Uno.UI.Dispatching.Skia.csproj
index 3508ff636e78..c77818949e0d 100644
--- a/src/Uno.UI.Dispatching/Uno.UI.Dispatching.Skia.csproj
+++ b/src/Uno.UI.Dispatching/Uno.UI.Dispatching.Skia.csproj
@@ -1,6 +1,6 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UI.Dispatching/Uno.UI.Dispatching.Wasm.csproj b/src/Uno.UI.Dispatching/Uno.UI.Dispatching.Wasm.csproj
index 765e8d4a9ea9..600437fb7063 100644
--- a/src/Uno.UI.Dispatching/Uno.UI.Dispatching.Wasm.csproj
+++ b/src/Uno.UI.Dispatching/Uno.UI.Dispatching.Wasm.csproj
@@ -1,7 +1,7 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UI.FluentTheme.v1/Uno.UI.FluentTheme.v1.Skia.csproj b/src/Uno.UI.FluentTheme.v1/Uno.UI.FluentTheme.v1.Skia.csproj
index 0c2f14237d14..9387b947bdce 100644
--- a/src/Uno.UI.FluentTheme.v1/Uno.UI.FluentTheme.v1.Skia.csproj
+++ b/src/Uno.UI.FluentTheme.v1/Uno.UI.FluentTheme.v1.Skia.csproj
@@ -1,6 +1,6 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UI.FluentTheme.v1/Uno.UI.FluentTheme.v1.Wasm.csproj b/src/Uno.UI.FluentTheme.v1/Uno.UI.FluentTheme.v1.Wasm.csproj
index f2f95f779f0a..47d725e21bf8 100644
--- a/src/Uno.UI.FluentTheme.v1/Uno.UI.FluentTheme.v1.Wasm.csproj
+++ b/src/Uno.UI.FluentTheme.v1/Uno.UI.FluentTheme.v1.Wasm.csproj
@@ -1,6 +1,6 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UI.FluentTheme.v2/Uno.UI.FluentTheme.v2.Skia.csproj b/src/Uno.UI.FluentTheme.v2/Uno.UI.FluentTheme.v2.Skia.csproj
index 15511d41ed7c..a729ee6e444b 100644
--- a/src/Uno.UI.FluentTheme.v2/Uno.UI.FluentTheme.v2.Skia.csproj
+++ b/src/Uno.UI.FluentTheme.v2/Uno.UI.FluentTheme.v2.Skia.csproj
@@ -1,6 +1,6 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UI.FluentTheme.v2/Uno.UI.FluentTheme.v2.Wasm.csproj b/src/Uno.UI.FluentTheme.v2/Uno.UI.FluentTheme.v2.Wasm.csproj
index 1b0e4a4db296..a15f0c1f7c83 100644
--- a/src/Uno.UI.FluentTheme.v2/Uno.UI.FluentTheme.v2.Wasm.csproj
+++ b/src/Uno.UI.FluentTheme.v2/Uno.UI.FluentTheme.v2.Wasm.csproj
@@ -1,6 +1,6 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UI.FluentTheme/Uno.UI.FluentTheme.Skia.csproj b/src/Uno.UI.FluentTheme/Uno.UI.FluentTheme.Skia.csproj
index 8a542fb71ad3..ce3038540d26 100644
--- a/src/Uno.UI.FluentTheme/Uno.UI.FluentTheme.Skia.csproj
+++ b/src/Uno.UI.FluentTheme/Uno.UI.FluentTheme.Skia.csproj
@@ -1,6 +1,6 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UI.FluentTheme/Uno.UI.FluentTheme.Wasm.csproj b/src/Uno.UI.FluentTheme/Uno.UI.FluentTheme.Wasm.csproj
index b0df499729df..8e1acfefc089 100644
--- a/src/Uno.UI.FluentTheme/Uno.UI.FluentTheme.Wasm.csproj
+++ b/src/Uno.UI.FluentTheme/Uno.UI.FluentTheme.Wasm.csproj
@@ -1,6 +1,6 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UI.RemoteControl/Uno.UI.RemoteControl.Skia.csproj b/src/Uno.UI.RemoteControl/Uno.UI.RemoteControl.Skia.csproj
index 098b3071790c..d3ed5443080d 100644
--- a/src/Uno.UI.RemoteControl/Uno.UI.RemoteControl.Skia.csproj
+++ b/src/Uno.UI.RemoteControl/Uno.UI.RemoteControl.Skia.csproj
@@ -1,7 +1,7 @@
- netstandard2.0;net5.0
+ netstandard2.0;net5.0;net7.0
diff --git a/src/Uno.UI.RemoteControl/Uno.UI.RemoteControl.Wasm.csproj b/src/Uno.UI.RemoteControl/Uno.UI.RemoteControl.Wasm.csproj
index fae2f0f32f14..5afd290c603a 100644
--- a/src/Uno.UI.RemoteControl/Uno.UI.RemoteControl.Wasm.csproj
+++ b/src/Uno.UI.RemoteControl/Uno.UI.RemoteControl.Wasm.csproj
@@ -1,7 +1,7 @@
- netstandard2.0;net5.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UI.Runtime.Skia.Gtk/Uno.UI.Runtime.Skia.Gtk.csproj b/src/Uno.UI.Runtime.Skia.Gtk/Uno.UI.Runtime.Skia.Gtk.csproj
index f0452b94845a..bb3ff27de20b 100644
--- a/src/Uno.UI.Runtime.Skia.Gtk/Uno.UI.Runtime.Skia.Gtk.csproj
+++ b/src/Uno.UI.Runtime.Skia.Gtk/Uno.UI.Runtime.Skia.Gtk.csproj
@@ -1,7 +1,7 @@
- netcoreapp3.1
+ netcoreapp3.1;net7.0
diff --git a/src/Uno.UI.Runtime.Skia.Linux.FrameBuffer/Uno.UI.Runtime.Skia.Linux.FrameBuffer.csproj b/src/Uno.UI.Runtime.Skia.Linux.FrameBuffer/Uno.UI.Runtime.Skia.Linux.FrameBuffer.csproj
index 7e330e56484c..0e2a5be3fec7 100644
--- a/src/Uno.UI.Runtime.Skia.Linux.FrameBuffer/Uno.UI.Runtime.Skia.Linux.FrameBuffer.csproj
+++ b/src/Uno.UI.Runtime.Skia.Linux.FrameBuffer/Uno.UI.Runtime.Skia.Linux.FrameBuffer.csproj
@@ -1,7 +1,7 @@
- netcoreapp3.1
+ netcoreapp3.1;net7.0
enable
true
diff --git a/src/Uno.UI.Runtime.Skia.Wpf/Uno.UI.Runtime.Skia.Wpf.csproj b/src/Uno.UI.Runtime.Skia.Wpf/Uno.UI.Runtime.Skia.Wpf.csproj
index f1d2a95ae613..d7ce59f6e6a1 100644
--- a/src/Uno.UI.Runtime.Skia.Wpf/Uno.UI.Runtime.Skia.Wpf.csproj
+++ b/src/Uno.UI.Runtime.Skia.Wpf/Uno.UI.Runtime.Skia.Wpf.csproj
@@ -1,7 +1,7 @@
- net47;netcoreapp3.1
+ net47;netcoreapp3.1;net7.0
diff --git a/src/Uno.UI.Runtime.WebAssembly.Compatibility/Uno.UI.Runtime.WebAssembly.Compatibility.csproj b/src/Uno.UI.Runtime.WebAssembly.Compatibility/Uno.UI.Runtime.WebAssembly.Compatibility.csproj
index be6b0aa7e514..1b75965f9e8a 100644
--- a/src/Uno.UI.Runtime.WebAssembly.Compatibility/Uno.UI.Runtime.WebAssembly.Compatibility.csproj
+++ b/src/Uno.UI.Runtime.WebAssembly.Compatibility/Uno.UI.Runtime.WebAssembly.Compatibility.csproj
@@ -1,6 +1,6 @@
- netstandard2.0;net5.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UI.Runtime.WebAssembly/Uno.UI.Runtime.WebAssembly.csproj b/src/Uno.UI.Runtime.WebAssembly/Uno.UI.Runtime.WebAssembly.csproj
index ac986f200cf6..3dcbdaad8073 100644
--- a/src/Uno.UI.Runtime.WebAssembly/Uno.UI.Runtime.WebAssembly.csproj
+++ b/src/Uno.UI.Runtime.WebAssembly/Uno.UI.Runtime.WebAssembly.csproj
@@ -1,6 +1,6 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UI.RuntimeTests/Uno.UI.RuntimeTests.Skia.csproj b/src/Uno.UI.RuntimeTests/Uno.UI.RuntimeTests.Skia.csproj
index d3d7d3fc9b49..07c0e25f5add 100644
--- a/src/Uno.UI.RuntimeTests/Uno.UI.RuntimeTests.Skia.csproj
+++ b/src/Uno.UI.RuntimeTests/Uno.UI.RuntimeTests.Skia.csproj
@@ -1,7 +1,7 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UI.RuntimeTests/Uno.UI.RuntimeTests.Wasm.csproj b/src/Uno.UI.RuntimeTests/Uno.UI.RuntimeTests.Wasm.csproj
index 837a88d5878a..b9d126f1e7da 100644
--- a/src/Uno.UI.RuntimeTests/Uno.UI.RuntimeTests.Wasm.csproj
+++ b/src/Uno.UI.RuntimeTests/Uno.UI.RuntimeTests.Wasm.csproj
@@ -1,7 +1,7 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UI.Toolkit/Uno.UI.Toolkit.Skia.csproj b/src/Uno.UI.Toolkit/Uno.UI.Toolkit.Skia.csproj
index b6642f49f05f..132763706240 100644
--- a/src/Uno.UI.Toolkit/Uno.UI.Toolkit.Skia.csproj
+++ b/src/Uno.UI.Toolkit/Uno.UI.Toolkit.Skia.csproj
@@ -1,6 +1,6 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UI.Toolkit/Uno.UI.Toolkit.Wasm.csproj b/src/Uno.UI.Toolkit/Uno.UI.Toolkit.Wasm.csproj
index 9400905b36e5..f990a8faeb7a 100644
--- a/src/Uno.UI.Toolkit/Uno.UI.Toolkit.Wasm.csproj
+++ b/src/Uno.UI.Toolkit/Uno.UI.Toolkit.Wasm.csproj
@@ -1,6 +1,6 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UI.Wasm.Tests/Tests/TSBindingsTests.cs b/src/Uno.UI.Wasm.Tests/Tests/TSBindingsTests.cs
index 059e41beca30..17e227f92f26 100644
--- a/src/Uno.UI.Wasm.Tests/Tests/TSBindingsTests.cs
+++ b/src/Uno.UI.Wasm.Tests/Tests/TSBindingsTests.cs
@@ -7,6 +7,9 @@
using Uno;
using Windows.Foundation;
using Uno.Foundation.Interop;
+using System.Runtime.InteropServices.JavaScript;
+using System.Net.WebSockets;
+using System.Diagnostics;
namespace SamplesApp.UnitTests.TSBindings
{
@@ -15,6 +18,34 @@ namespace SamplesApp.UnitTests.TSBindings
public class TSBindingsTests
{
+#if NET7_0_OR_GREATER
+ [TestMethod]
+ public void When_TestPerf()
+ {
+ var sw1 = Stopwatch.StartNew();
+ for (int i = 0; i < 1000; i++)
+ {
+ string r = TestImport.When_SingleStringNet7(i.ToString());
+ }
+
+ Console.WriteLine($"net7 interop: {sw1.Elapsed}");
+
+ var sw2 = Stopwatch.StartNew();
+ for (int i = 0; i < 1000; i++)
+ {
+ var param = new When_SingleStringParams()
+ {
+ MyString = "This is 42"
+ };
+
+ var ret = (GenericReturn)TSInteropMarshaller.InvokeJS("TSBindingsUnitTests:When_SingleString", param, typeof(GenericReturn));
+
+ }
+
+ Console.WriteLine($"uno ts interop: {sw2.Elapsed}");
+ }
+#endif
+
[TestMethod]
public void When_IntPtr()
{
@@ -165,6 +196,14 @@ public void When_ArrayOfNullStrings()
}
}
+#if NET7_0_OR_GREATER
+ partial class TestImport
+ {
+ [JSImport("globalThis.TSBindingsTests.When_SingleStringNet7")]
+ internal static partial string When_SingleStringNet7(string value);
+ }
+#endif
+
[TSInteropMessage]
[StructLayout(LayoutKind.Sequential, Pack = 4)]
public struct When_ArrayOfStringsParams
diff --git a/src/Uno.UI.Wasm.Tests/Uno.UI.Wasm.Tests.csproj b/src/Uno.UI.Wasm.Tests/Uno.UI.Wasm.Tests.csproj
index 6890e98bdf95..81326885a75a 100644
--- a/src/Uno.UI.Wasm.Tests/Uno.UI.Wasm.Tests.csproj
+++ b/src/Uno.UI.Wasm.Tests/Uno.UI.Wasm.Tests.csproj
@@ -1,7 +1,7 @@
- netstandard2.0;net5.0
+ netstandard2.0;net7.0
$(MSBuildThisFileDirectory)tsbindings
$(DefineConstants);__WASM__
@@ -10,6 +10,7 @@
true
true
+ true
diff --git a/src/Uno.UI.Wasm.Tests/WasmScripts/UnitTests.d.ts b/src/Uno.UI.Wasm.Tests/WasmScripts/UnitTests.d.ts
index a044c32b47b3..8bde78da8d8e 100644
--- a/src/Uno.UI.Wasm.Tests/WasmScripts/UnitTests.d.ts
+++ b/src/Uno.UI.Wasm.Tests/WasmScripts/UnitTests.d.ts
@@ -1,5 +1,6 @@
declare class TSBindingsTests {
TSBindingsTests(): void;
+ static When_SingleStringNet7(value: string): string;
When_IntPtr(pParams: number, pReturn: number): boolean;
When_IntPtr_Zero(pParams: number, pReturn: number): boolean;
When_SingleString(pParams: number, pReturn: number): boolean;
diff --git a/src/Uno.UI.Wasm.Tests/WasmScripts/UnitTests.js b/src/Uno.UI.Wasm.Tests/WasmScripts/UnitTests.js
index d09f98b152db..a2e67a580483 100644
--- a/src/Uno.UI.Wasm.Tests/WasmScripts/UnitTests.js
+++ b/src/Uno.UI.Wasm.Tests/WasmScripts/UnitTests.js
@@ -4,6 +4,9 @@ require([`${config.uno_app_base}/Uno.UI`], () => {
class TSBindingsTests {
TSBindingsTests() {
}
+ static When_SingleStringNet7(value) {
+ return value;
+ }
When_IntPtr(pParams, pReturn) {
var params = SamplesApp.UnitTests.TSBindings.When_IntPtrParams.unmarshal(pParams);
var ret = new SamplesApp.UnitTests.TSBindings.GenericReturn();
diff --git a/src/Uno.UI.Wasm.Tests/ts/TSBindingsTests.ts b/src/Uno.UI.Wasm.Tests/ts/TSBindingsTests.ts
index ee1534905149..8cdc673b9ba3 100644
--- a/src/Uno.UI.Wasm.Tests/ts/TSBindingsTests.ts
+++ b/src/Uno.UI.Wasm.Tests/ts/TSBindingsTests.ts
@@ -6,7 +6,11 @@
class TSBindingsTests {
public TSBindingsTests() {
+ // https://github.com/dotnet/runtime/blob/a919d611e832bfee46fc34762f5ded2006c9f16d/src/mono/wasm/runtime/invoke-js.ts
+ }
+ public static When_SingleStringNet7(value: string): string {
+ return value;
}
public When_IntPtr(pParams: number, pReturn: number): boolean {
diff --git a/src/Uno.UI/Uno.UI.Skia.csproj b/src/Uno.UI/Uno.UI.Skia.csproj
index 1c6433c896e2..b05a50b81a12 100644
--- a/src/Uno.UI/Uno.UI.Skia.csproj
+++ b/src/Uno.UI/Uno.UI.Skia.csproj
@@ -1,6 +1,6 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UI/Uno.UI.Wasm.csproj b/src/Uno.UI/Uno.UI.Wasm.csproj
index c22d285a473c..335e1dc60357 100644
--- a/src/Uno.UI/Uno.UI.Wasm.csproj
+++ b/src/Uno.UI/Uno.UI.Wasm.csproj
@@ -1,6 +1,6 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UWP/Uno.Skia.csproj b/src/Uno.UWP/Uno.Skia.csproj
index f2c76a3c77f0..c3f2055b6682 100644
--- a/src/Uno.UWP/Uno.Skia.csproj
+++ b/src/Uno.UWP/Uno.Skia.csproj
@@ -1,6 +1,6 @@
- netstandard2.0
+ netstandard2.0;net7.0
diff --git a/src/Uno.UWP/Uno.Wasm.csproj b/src/Uno.UWP/Uno.Wasm.csproj
index 339cf77ff510..1f29eb5fa3f8 100644
--- a/src/Uno.UWP/Uno.Wasm.csproj
+++ b/src/Uno.UWP/Uno.Wasm.csproj
@@ -1,7 +1,7 @@
- netstandard2.0
+ netstandard2.0;net7.0