diff --git a/.vsts-ci.yml b/.vsts-ci.yml
index 8fe1ea227e7f..0050352fc708 100644
--- a/.vsts-ci.yml
+++ b/.vsts-ci.yml
@@ -64,7 +64,7 @@ jobs:
- template: build/ci/.azure-devops-winui-convert.yml
parameters:
- vmImage: '$(windows2022HostedVMImage)'
+ poolName: '$(windowsScaledPool)'
- template: build/ci/.azure-devops-pipeline-validations.yml
parameters:
@@ -78,6 +78,18 @@ jobs:
parameters:
poolName: '$(windowsScaledPool)'
+- template: build/ci/.azure-devops-package-wasm.yml
+ parameters:
+ vmImage: '$(linuxVMImage)'
+
+- template: build/ci/.azure-devops-package-reference.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.Foundation.Logging.nuspec b/build/Uno.Foundation.Logging.nuspec
index 181f9b7bf5fb..d1b179709afc 100644
--- a/build/Uno.Foundation.Logging.nuspec
+++ b/build/Uno.Foundation.Logging.nuspec
@@ -25,6 +25,7 @@
+
diff --git a/build/Uno.UI.Adapter.Microsoft.Extensions.Logging.nuspec b/build/Uno.UI.Adapter.Microsoft.Extensions.Logging.nuspec
index 345da9149486..ce9188a47e8c 100644
--- a/build/Uno.UI.Adapter.Microsoft.Extensions.Logging.nuspec
+++ b/build/Uno.UI.Adapter.Microsoft.Extensions.Logging.nuspec
@@ -22,5 +22,6 @@
+
diff --git a/build/Uno.UI.Build.csproj b/build/Uno.UI.Build.csproj
index c45d0f9afa44..8577d3ca0144 100644
--- a/build/Uno.UI.Build.csproj
+++ b/build/Uno.UI.Build.csproj
@@ -43,29 +43,22 @@
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
@@ -222,15 +215,14 @@
-
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
@@ -252,7 +278,6 @@
-
+
+
+
+
+
+
+
+
+
@@ -98,6 +103,9 @@
+
+
+
@@ -115,7 +123,8 @@
-
+
+
@@ -129,10 +138,16 @@
-
+
-
+
+
+
+
+
+
+
diff --git a/build/Uno.WinUI.MSAL.nuspec b/build/Uno.WinUI.MSAL.nuspec
index 06b3919e49c3..65230e1fd9cc 100644
--- a/build/Uno.WinUI.MSAL.nuspec
+++ b/build/Uno.WinUI.MSAL.nuspec
@@ -27,11 +27,15 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
@@ -59,7 +63,8 @@
-
+
+
@@ -75,11 +80,17 @@
-
-
+
+
+
+
+
+
+
+
-
-
+
+
diff --git a/build/Uno.WinUI.RemoteControl.nuspec b/build/Uno.WinUI.RemoteControl.nuspec
index 80884ee6ec61..5073965558f8 100644
--- a/build/Uno.WinUI.RemoteControl.nuspec
+++ b/build/Uno.WinUI.RemoteControl.nuspec
@@ -80,7 +80,7 @@
-
+
@@ -88,6 +88,15 @@
+
+
+
+
+
+
+
+
+
@@ -95,6 +104,11 @@
+
+
+
+
+
@@ -132,8 +146,11 @@
-
-
+
+
+
+
+
@@ -164,19 +181,28 @@
+
+
-
-
+
+
+
+
+
+
+
+
-
-
+
+
-
+
+
diff --git a/build/Uno.WinUI.XamlHost.Skia.Wpf.nuspec b/build/Uno.WinUI.XamlHost.Skia.Wpf.nuspec
index 8f9ac217bf3c..dd2a448ef196 100644
--- a/build/Uno.WinUI.XamlHost.Skia.Wpf.nuspec
+++ b/build/Uno.WinUI.XamlHost.Skia.Wpf.nuspec
@@ -19,6 +19,10 @@
+
+
+
+
@@ -26,8 +30,10 @@
-
+
+
+
diff --git a/build/Uno.WinUI.XamlHost.nuspec b/build/Uno.WinUI.XamlHost.nuspec
index 378d5e78942d..01705fe65cbe 100644
--- a/build/Uno.WinUI.XamlHost.nuspec
+++ b/build/Uno.WinUI.XamlHost.nuspec
@@ -72,15 +72,24 @@
-
+
+
-
-
-
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/build/Uno.WinUI.nuspec b/build/Uno.WinUI.nuspec
index 40904e44130e..c5fd3501172c 100644
--- a/build/Uno.WinUI.nuspec
+++ b/build/Uno.WinUI.nuspec
@@ -92,7 +92,7 @@
-
+
@@ -102,6 +102,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -133,6 +144,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -481,57 +507,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -573,6 +668,7 @@
+
@@ -583,6 +679,7 @@
+
@@ -593,6 +690,7 @@
+
@@ -603,6 +701,7 @@
+
@@ -613,6 +712,7 @@
+
@@ -623,6 +723,7 @@
+
diff --git a/build/ci/.azure-devops-android-tests.yml b/build/ci/.azure-devops-android-tests.yml
index 095250d4e1c0..75ca2fe3d129 100644
--- a/build/ci/.azure-devops-android-tests.yml
+++ b/build/ci/.azure-devops-android-tests.yml
@@ -31,7 +31,7 @@ jobs:
- bash: |
cd $(build.sourcesdirectory)/src/SamplesApp/SamplesApp.net6mobile
- dotnet publish -f net6.0-android -c Release -p:UnoSampleAppRuntimeIdentifiers=android-x64
+ dotnet publish -f net6.0-android -c Release -p:UnoSampleAppRuntimeIdentifiers=android-x64 -p:UnoUIDisableNet7Build=true
displayName: Build Android samples app
- task: CopyFiles@2
diff --git a/build/ci/.azure-devops-package-generic.yml b/build/ci/.azure-devops-package-generic.yml
index 09bc3af9cf03..1677f12d3992 100644
--- a/build/ci/.azure-devops-package-generic.yml
+++ b/build/ci/.azure-devops-package-generic.yml
@@ -26,7 +26,7 @@ jobs:
# Disable .NET 5 build on CI for package generation
# Build validation is performed on other jobs
- UnoUIDisableNetCoreBuild: true
+ UnoUIDisableNet7Build: true
# This is required to be able to use hard links as much as possible
NUGET_PACKAGES: $(Agent.WorkFolder)\.nuget
@@ -72,7 +72,7 @@ jobs:
msbuildLocationMethod: version
msbuildVersion: latest
msbuildArchitecture: x86
- msbuildArguments: /r /m /t:BuildGeneric "/p:CombinedConfiguration=$(CombinedConfiguration)" /detailedsummary /bl:$(build.artifactstagingdirectory)\build-$(GitVersion.FullSemVer)-$(XAML_FLAVOR_BUILD).binlog
+ msbuildArguments: /r /m /v:m /t:BuildGeneric "/p:CombinedConfiguration=$(CombinedConfiguration)" /detailedsummary /bl:$(build.artifactstagingdirectory)\build-$(GitVersion.FullSemVer)-$(XAML_FLAVOR_BUILD).binlog
clean: false
restoreNugetPackages: false
logProjectEvents: false
diff --git a/build/ci/.azure-devops-package-net6-win.yml b/build/ci/.azure-devops-package-net6-win.yml
index 55a3e1299e05..caf5487d97a8 100644
--- a/build/ci/.azure-devops-package-net6-win.yml
+++ b/build/ci/.azure-devops-package-net6-win.yml
@@ -26,7 +26,7 @@ jobs:
# Disable .NET 5 build on CI for package generation
# Build validation is performed on other jobs
- UnoUIDisableNetCoreBuild: true
+ UnoUIDisableNet7Build: true
# Disable trimming for packages creation
PublishTrimmed: false
@@ -51,19 +51,6 @@ jobs:
- template: templates/dotnet6-install-windows.yml
- template: templates/install-windows-sdk.yml
- # Required to build on net5 because of uwp compatibility (until 16.10 gets published)
- - task: MSBuild@1
- inputs:
- solution: Build/Uno.UI.Build.csproj
- msbuildLocationMethod: version
- msbuildVersion: latest
- msbuildArchitecture: x86
- msbuildArguments: /r /m /t:BuildNet6 "/p:CombinedConfiguration=$(CombinedConfiguration)" /detailedsummary /bl:$(build.artifactstagingdirectory)\build-$(GitVersion.FullSemVer)-net6-$(UNO_UWP_BUILD).binlog
- clean: false
- restoreNugetPackages: false
- logProjectEvents: false
- createLogFile: false
-
- powershell: |
cp $(build.sourcesdirectory)\src\global-net6.json $(build.sourcesdirectory)\src\global.json
displayName: Change active .NET SDK
diff --git a/build/ci/.azure-devops-package-reference.yml b/build/ci/.azure-devops-package-reference.yml
new file mode 100644
index 000000000000..04b5d4dd879a
--- /dev/null
+++ b/build/ci/.azure-devops-package-reference.yml
@@ -0,0 +1,61 @@
+parameters:
+ poolName: ''
+
+jobs:
+- job: reference_package_build
+ displayName: 'Build Reference Package Binaries'
+
+ 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
+ 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:BuildCIReference "/p:CombinedConfiguration=$(CombinedConfiguration)" /detailedsummary /bl:$(build.artifactstagingdirectory)/build-Reference-$(XAML_FLAVOR_BUILD).binlog
+ displayName: Building Reference 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)/Reference-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-skia.yml b/build/ci/.azure-devops-package-skia.yml
new file mode 100644
index 000000000000..1946770c7252
--- /dev/null
+++ b/build/ci/.azure-devops-package-skia.yml
@@ -0,0 +1,65 @@
+parameters:
+ poolName: ''
+
+jobs:
+- job: skia_package_build
+ displayName: 'Build Skia Package Binaries'
+
+ 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
+ UnoUIDisableNet7Build: 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:BuildCISkia "/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..4399f71c4d6e
--- /dev/null
+++ b/build/ci/.azure-devops-package-wasm.yml
@@ -0,0 +1,66 @@
+parameters:
+ poolName: ''
+
+jobs:
+- job: wasm_package_build
+ displayName: 'Build WebAssembly Package Binaries'
+
+ 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
+ UnoUIDisableNet7Build: 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/.azure-devops-package.yml b/build/ci/.azure-devops-package.yml
index 9095eaef1819..f41d74d780df 100644
--- a/build/ci/.azure-devops-package.yml
+++ b/build/ci/.azure-devops-package.yml
@@ -9,6 +9,9 @@ jobs:
dependsOn:
- generic_win_build
- net6_win_build
+ - skia_package_build
+ - wasm_package_build
+ - reference_package_build
pool: ${{ parameters.poolName }}
@@ -28,7 +31,7 @@ jobs:
# Disable .NET 5 build on CI for package generation
# Build validation is performed on other jobs
- UnoUIDisableNetCoreBuild: true
+ UnoUIDisableNet7Build: true
# This is required to be able to use hard links as much as possible
NUGET_PACKAGES: $(Agent.WorkFolder)\.nuget
@@ -44,21 +47,6 @@ jobs:
- template: templates/download-winui-converted-tree.yml
- template: templates/gitversion.yml
-
- - task: NuGetToolInstaller@0
- inputs:
- versionSpec: 4.9.1
- checkLatest: false
-
- # Required to run the api comparison tool
- - task: UseDotNet@2
- displayName: 'Use .Net Core runtime 2.2.x'
- inputs:
- packageType: runtime
- version: 2.2.x
-
- # Required for the Wasm uitests project
- - task: NodeTool@0
- template: templates/install-windows-sdk.yml
@@ -81,7 +69,7 @@ jobs:
msbuildLocationMethod: version
msbuildVersion: latest
msbuildArchitecture: x86
- msbuildArguments: /r /m /t:GeneratePackages "/p:CombinedConfiguration=$(CombinedConfiguration)" /detailedsummary /bl:$(build.artifactstagingdirectory)\build-$(GitVersion.FullSemVer)-generate-packages.binlog
+ msbuildArguments: /r /m /v:m /t:GeneratePackages "/p:CombinedConfiguration=$(CombinedConfiguration)" /detailedsummary /bl:$(build.artifactstagingdirectory)\build-$(GitVersion.FullSemVer)-generate-packages.binlog
clean: false
restoreNugetPackages: false
logProjectEvents: false
@@ -111,6 +99,32 @@ jobs:
OverWrite: false
flattenFolders: false
+ - task: CopyFiles@2
+ displayName: Copy Skia build packages
+ condition: always()
+ inputs:
+ SourceFolder: $(Agent.WorkFolder)/NugetPackages-Artifacts/vslatest-skia
+ Contents: |
+ *.nupkg
+ *.vsix
+ TargetFolder: $(build.artifactstagingdirectory)\vslatest
+ CleanTargetFolder: false
+ OverWrite: false
+ flattenFolders: false
+
+ - task: CopyFiles@2
+ displayName: Copy Wasm build packages
+ condition: always()
+ inputs:
+ SourceFolder: $(Agent.WorkFolder)/NugetPackages-Artifacts/vslatest-wasm
+ Contents: |
+ *.nupkg
+ *.vsix
+ TargetFolder: $(build.artifactstagingdirectory)\vslatest
+ CleanTargetFolder: false
+ OverWrite: false
+ flattenFolders: false
+
- task: PowerShell@2
displayName: Authenticode Sign Packages
inputs:
diff --git a/build/ci/.azure-devops-project-template-tests.yml b/build/ci/.azure-devops-project-template-tests.yml
index 351cb995a968..7b97dac66b33 100644
--- a/build/ci/.azure-devops-project-template-tests.yml
+++ b/build/ci/.azure-devops-project-template-tests.yml
@@ -65,7 +65,7 @@ jobs:
- script: dotnet new -i $(System.ArtifactsDirectory)\NugetPackages\vslatest\Uno.ProjectTemplates.Dotnet*.nupkg
displayName: Install Project Templates
- - powershell: build\test-scripts\run-net6-template-tests.ps1
+ - powershell: build\test-scripts\run-net6-mobile-template-tests.ps1
displayName: Run Project Templates Tests
env:
NUGET_CI_CONFIG: $(Build.SourcesDirectory)\src\nuget.ci.net6.config
@@ -103,3 +103,33 @@ jobs:
displayName: Run Project Templates Tests
env:
NUGET_CI_CONFIG: $(Build.SourcesDirectory)/src/nuget.ci.config
+
+- job: Dotnet_Template_Tests_net7_Linux
+ displayName: 'dotnet new Templates Tests - Linux (net7)'
+
+ pool:
+ vmImage: ${{ parameters.vmImageLinux }}
+
+ container: unoplatform/wasm-build:2.3
+
+ dependsOn: Generate_Packages
+
+ steps:
+ - task: DownloadBuildArtifacts@0
+ inputs:
+ artifactName: NugetPackages
+
+ - template: templates/gitversion.yml
+
+ - script: cp $(System.ArtifactsDirectory)/NugetPackages/vslatest/*.nupkg $(Build.SourcesDirectory)/src/PackageCache
+ displayName: Copy Artifacts to PackageCache
+
+ - template: templates/dotnet-install.yml
+
+ - script: dotnet new -i $(System.ArtifactsDirectory)/NugetPackages/vslatest/Uno.ProjectTemplates.Dotnet*.nupkg
+ displayName: Install Project Templates
+
+ - pwsh: build/test-scripts/run-net7-template-linux.ps1
+ displayName: Run Project Templates Tests
+ env:
+ NUGET_CI_CONFIG: $(Build.SourcesDirectory)/src/nuget.ci.config
diff --git a/build/ci/.azure-devops-skia-tests.yml b/build/ci/.azure-devops-skia-tests.yml
index 8b406f2bcec1..86a15468ce06 100644
--- a/build/ci/.azure-devops-skia-tests.yml
+++ b/build/ci/.azure-devops-skia-tests.yml
@@ -36,7 +36,7 @@ jobs:
- task: PublishBuildArtifacts@1
condition: always()
inputs:
- PathtoPublish: $(Build.SourcesDirectory)\src\SamplesApp\SamplesApp.Skia.Gtk\bin\Release\netcoreapp3.1
+ PathtoPublish: $(Build.SourcesDirectory)\src\SamplesApp\SamplesApp.Skia.Gtk\bin\Release\net7.0
ArtifactName: skia-gtk-samples-app
ArtifactType: Container
@@ -46,7 +46,7 @@ jobs:
- task: PublishBuildArtifacts@1
condition: always()
inputs:
- PathtoPublish: $(Build.SourcesDirectory)\src\SamplesApp\SamplesApp.Skia.WPF\bin\Release\net5.0-windows
+ PathtoPublish: $(Build.SourcesDirectory)\src\SamplesApp\SamplesApp.Skia.WPF\bin\Release\net7.0-windows
ArtifactName: skia-wpf-samples-app
ArtifactType: Container
diff --git a/build/ci/.azure-devops-uap.yml b/build/ci/.azure-devops-uap.yml
index 07873f3fcf19..42f92b75fb17 100644
--- a/build/ci/.azure-devops-uap.yml
+++ b/build/ci/.azure-devops-uap.yml
@@ -38,7 +38,7 @@ jobs:
msbuildLocationMethod: version
msbuildVersion: latest
msbuildArchitecture: x86
- msbuildArguments: /r /m /p:Configuration=Release /p:UnoTargetFrameworkOverride=uap10.0.18362 /p:UnoDisableTargetFrameworksCIOverride=true /detailedsummary /bl:$(build.artifactstagingdirectory)/build-uap.binlog
+ msbuildArguments: /r /m /v:m /p:Configuration=Release /p:UnoTargetFrameworkOverride=uap10.0.18362 /p:UnoDisableTargetFrameworksCIOverride=true /detailedsummary /bl:$(build.artifactstagingdirectory)/build-uap.binlog
clean: false
restoreNugetPackages: false
logProjectEvents: false
diff --git a/build/ci/.azure-devops-unit-tests.yml b/build/ci/.azure-devops-unit-tests.yml
index f1b95d353c2b..f8070544bb2f 100644
--- a/build/ci/.azure-devops-unit-tests.yml
+++ b/build/ci/.azure-devops-unit-tests.yml
@@ -47,7 +47,7 @@ jobs:
- task: MSBuild@1
inputs:
solution: src/Uno.UI-UnitTests-only.slnf
- msbuildArguments: /r /p:CheckExclusions=True /p:Configuration=Release /nodeReuse:true /p:TargetFrameworksCI=net461 /detailedsummary /m $(ADDITIONAL_FLAGS) /bl:$(build.artifactstagingdirectory)\unit-tests-build.binlog
+ msbuildArguments: /r /v:m /p:CheckExclusions=True /p:Configuration=Release /nodeReuse:true /p:TargetFrameworksCI=net461 /detailedsummary /m $(ADDITIONAL_FLAGS) /bl:$(build.artifactstagingdirectory)\unit-tests-build.binlog
- task: PublishBuildArtifacts@1
condition: always()
diff --git a/build/ci/.azure-devops-wasm-uitests.yml b/build/ci/.azure-devops-wasm-uitests.yml
index ec7daf18aa22..91b743c6f597 100644
--- a/build/ci/.azure-devops-wasm-uitests.yml
+++ b/build/ci/.azure-devops-wasm-uitests.yml
@@ -36,14 +36,14 @@ jobs:
- bash: |
dotnet msbuild /r /nr:false /p:Configuration=Release src/SamplesApp/SamplesApp.Wasm/SamplesApp.Wasm.csproj /p:UnoSourceGeneratorUseGenerationHost=true /p:UnoSourceGeneratorUseGenerationController=false /bl:$(build.artifactstagingdirectory)/build-wasm-uitest-net6-$(GitVersion.FullSemVer).binlog
- displayName: 'Build sample app (net6.0)'
+ displayName: 'Build sample app (net7.0)'
- task: CopyFiles@2
- displayName: 'Publish Wasm Site (net6.0)'
+ displayName: 'Publish Wasm Site (net7.0)'
inputs:
- SourceFolder: $(build.sourcesdirectory)/src/SamplesApp/SamplesApp.Wasm/bin/Release/net6.0/dist
+ SourceFolder: $(build.sourcesdirectory)/src/SamplesApp/SamplesApp.Wasm/bin/Release/net7.0/dist
Contents: '**/*.*'
- TargetFolder: $(build.artifactstagingdirectory)/site-net6.0
+ TargetFolder: $(build.artifactstagingdirectory)/site-net7.0
CleanTargetFolder: false
OverWrite: false
flattenFolders: false
@@ -69,7 +69,7 @@ jobs:
variables:
NUGET_PACKAGES: $(build.sourcesdirectory)/.nuget
- SITE_SUFFIX: 'net6.0'
+ SITE_SUFFIX: 'net7.0'
steps:
- checkout: self
@@ -97,9 +97,9 @@ jobs:
IFS=$'\n\t'
dotnet tool uninstall dotnet-serve -g || true
dotnet tool uninstall dotnet-serve --tool-path $BUILD_SOURCESDIRECTORY/build/tools || true
- dotnet tool install dotnet-serve --version 1.8.15 --tool-path $BUILD_SOURCESDIRECTORY/build/tools || true
+ dotnet tool install dotnet-serve --version 1.10.140 --tool-path $BUILD_SOURCESDIRECTORY/build/tools || true
export PATH="$PATH:$BUILD_SOURCESDIRECTORY/build/tools"
- $BUILD_SOURCESDIRECTORY/build/tools/dotnet-serve -p 8000 -d "$BUILD_SOURCESDIRECTORY/build/wasm-uitest-binaries/site-net6.0" &
+ $BUILD_SOURCESDIRECTORY/build/tools/dotnet-serve -p 8000 -d "$BUILD_SOURCESDIRECTORY/build/wasm-uitest-binaries/site-net7.0" &
cd $BUILD_SOURCESDIRECTORY/src/SamplesApp/SamplesApp.Wasm.UITests
npm install
node app
@@ -137,32 +137,32 @@ jobs:
strategy:
matrix:
- net6_default:
- SITE_SUFFIX: 'net6.0'
+ net7_default:
+ SITE_SUFFIX: 'net7.0'
UITEST_AUTOMATED_GROUP: 'Default'
UITEST_TEST_TIMEOUT: '120000'
- net6_benchmarks:
- SITE_SUFFIX: 'net6.0'
+ net7_benchmarks:
+ SITE_SUFFIX: 'net7.0'
UITEST_AUTOMATED_GROUP: 'Benchmarks'
UITEST_TEST_TIMEOUT: '120000'
- net6_runtimetests_group_00:
- SITE_SUFFIX: 'net6.0'
+ net7_runtimetests_group_00:
+ SITE_SUFFIX: 'net7.0'
UITEST_AUTOMATED_GROUP: 'RuntimeTests'
UITEST_TEST_TIMEOUT: '1800000'
UITEST_RUNTIME_TEST_GROUP: 0
UITEST_RUNTIME_TEST_GROUP_COUNT: 3
- net6_runtimetests_group_01:
- SITE_SUFFIX: 'net6.0'
+ net7_runtimetests_group_01:
+ SITE_SUFFIX: 'net7.0'
UITEST_AUTOMATED_GROUP: 'RuntimeTests'
UITEST_TEST_TIMEOUT: '1800000'
UITEST_RUNTIME_TEST_GROUP: 1
UITEST_RUNTIME_TEST_GROUP_COUNT: 3
- net6_runtimetests_group_02:
- SITE_SUFFIX: 'net6.0'
+ net7_runtimetests_group_02:
+ SITE_SUFFIX: 'net7.0'
UITEST_AUTOMATED_GROUP: 'RuntimeTests'
UITEST_TEST_TIMEOUT: '1800000'
UITEST_RUNTIME_TEST_GROUP: 2
diff --git a/build/ci/.azure-devops-winui-convert.yml b/build/ci/.azure-devops-winui-convert.yml
index 41cd5a29b6d7..b0db87472b49 100644
--- a/build/ci/.azure-devops-winui-convert.yml
+++ b/build/ci/.azure-devops-winui-convert.yml
@@ -5,8 +5,7 @@ jobs:
- job: winui_convert_tree
displayName: 'WinUI Converted Tree Generation'
- pool:
- vmImage: ${{ parameters.vmImage }}
+ pool: ${{ parameters.poolName }}
dependsOn: Pipeline_Validations
@@ -29,6 +28,7 @@ jobs:
nugetPackages: $(NUGET_PACKAGES)
- template: templates/dotnet6-install-windows.yml
+ - template: templates/dotnet-install.yml
- template: templates/install-windows-sdk.yml
- powershell: |
@@ -45,7 +45,7 @@ jobs:
msbuildLocationMethod: version
msbuildVersion: latest
msbuildArchitecture: x86
- msbuildArguments: /r /m /t:RunAPISyncTool "/p:CombinedConfiguration=$(CombinedConfiguration)" /detailedsummary /bl:$(build.artifactstagingdirectory)\build-winui-convert.binlog
+ msbuildArguments: /r /m /v:m /t:RunAPISyncTool "/p:CombinedConfiguration=$(CombinedConfiguration)" /detailedsummary /bl:$(build.artifactstagingdirectory)\build-winui-convert.binlog
clean: false
restoreNugetPackages: false
logProjectEvents: false
diff --git a/build/ci/templates/dotnet-install.yml b/build/ci/templates/dotnet-install.yml
index ab8d06037a38..c1f52dae2dd3 100644
--- a/build/ci/templates/dotnet-install.yml
+++ b/build/ci/templates/dotnet-install.yml
@@ -1,22 +1,16 @@
steps:
- task: UseDotNet@2
- displayName: 'Use .NET Core SDK 6.0.300'
+ displayName: 'Use .NET Core SDK 6.0.401'
retryCountOnTaskFailure: 3
inputs:
packageType: sdk
- version: 6.0.300
+ version: 6.0.401
- task: UseDotNet@2
- displayName: 'Use .NET Core SDK 5.0.400'
+ displayName: 'Use .NET Core SDK 7.0.100-rc.1.22431.12'
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/build/ci/templates/download-winui-converted-tree.yml b/build/ci/templates/download-winui-converted-tree.yml
index 1cd3940b1981..301bba00e778 100644
--- a/build/ci/templates/download-winui-converted-tree.yml
+++ b/build/ci/templates/download-winui-converted-tree.yml
@@ -6,7 +6,7 @@ steps:
displayName: Pre-cleanup for Restoring WinUI Converted Source Tree
- task: DownloadPipelineArtifact@2
- displayName: Restoring WinUI Converted Source Rree
+ displayName: Restoring WinUI Converted Source Tree
condition: and(succeeded(), eq(variables['UNO_UWP_BUILD'], 'false'))
inputs:
artifact: winui-converted-tree
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 f56da542eb91..63d0b38c0e52 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",
@@ -33,65 +29,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-reference.slnf b/build/filters/Uno.UI-packages-reference.slnf
new file mode 100644
index 000000000000..aea1eb53180f
--- /dev/null
+++ b/build/filters/Uno.UI-packages-reference.slnf
@@ -0,0 +1,27 @@
+{
+ "solution": {
+ "path": "..\\..\\src\\Uno.UI.sln",
+ "projects": [
+ "AddIns\\Uno.UI.Lottie\\Uno.UI.Lottie.Reference.csproj",
+ "AddIns\\Uno.UI.MSAL\\Uno.UI.MSAL.Reference.csproj",
+ "SourceGenerators\\SourceGeneratorHelpers\\SourceGeneratorHelpers.shproj",
+ "SourceGenerators\\System.Xaml\\Uno.Xaml.Reference.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",
+ "Uno.Foundation.Logging\\Uno.Foundation.Logging.csproj",
+ "Uno.Foundation\\Uno.Foundation.Reference.csproj",
+ "Uno.UI.Composition\\Uno.UI.Composition.Reference.csproj",
+ "Uno.UI.Dispatching\\Uno.UI.Dispatching.Reference.csproj",
+ "Uno.UI.FluentTheme.v1\\Uno.UI.FluentTheme.v1.Reference.csproj",
+ "Uno.UI.FluentTheme.v2\\Uno.UI.FluentTheme.v2.Reference.csproj",
+ "Uno.UI.FluentTheme\\Uno.UI.FluentTheme.Reference.csproj",
+ "Uno.UI.RemoteControl\\Uno.UI.RemoteControl.Reference.csproj",
+ "Uno.UI.Toolkit\\Uno.UI.Toolkit.Reference.csproj",
+ "Uno.UI.XamlHost\\Uno.UI.XamlHost.Reference.csproj",
+ "Uno.UI\\Uno.UI.Reference.csproj",
+ "Uno.UWP\\Uno.Reference.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..b5b3d7d4c988
--- /dev/null
+++ b/build/filters/Uno.UI-packages-skia.slnf
@@ -0,0 +1,50 @@
+{
+ "solution": {
+ "path": "..\\..\\src\\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",
+ "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",
+ "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\\Uno.UI.RemoteControl.Skia.csproj",
+ "Uno.UI.RemoteControl.Host\\Uno.UI.RemoteControl.Host.csproj",
+ "Uno.UI.RemoteControl.VS\\Uno.UI.RemoteControl.VS.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..1ecbf808fd36
--- /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",
+ "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",
+ "Uno.UI.XamlHost\\Uno.UI.XamlHost.Wasm.csproj"
+ ]
+ }
+}
diff --git a/build/test-scripts/run-net6-template-tests.ps1 b/build/test-scripts/run-net6-mobile-template-tests.ps1
similarity index 100%
rename from build/test-scripts/run-net6-template-tests.ps1
rename to build/test-scripts/run-net6-mobile-template-tests.ps1
diff --git a/build/test-scripts/run-net7-template-linux.ps1 b/build/test-scripts/run-net7-template-linux.ps1
new file mode 100644
index 000000000000..bf82cb7faf88
--- /dev/null
+++ b/build/test-scripts/run-net7-template-linux.ps1
@@ -0,0 +1,65 @@
+Set-PSDebug -Trace 1
+
+$ErrorActionPreference = 'Stop'
+
+function Assert-ExitCodeIsZero()
+{
+ if ($LASTEXITCODE -ne 0)
+ {
+ throw "Exit code must be zero."
+ }
+}
+
+function Get-TemplateConfiguration(
+ [bool]$mobile = $false,
+ [bool]$wasm = $false,
+ [bool]$skiaGtk = $false,
+ [bool]$skiaWpf = $false,
+ [bool]$skiaLinuxFB = $false,
+ [bool]$wasmVsCode = $false)
+{
+ $mobileFlag = '-mobile'
+ $iOSFlag = '-ios'
+ $macOSFlag = '-macos'
+ $wasmFlag = '-wasm'
+ $wasmVsCodeFlag = '--vscode'
+ $skiaWpfFlag = '--skia-wpf'
+ $skiaGtkFlag = '--skia-gtk'
+ $skiaLinuxFBFlag = '--skia-linux-fb'
+
+ $a = If ($mobile) { $mobileFlag } Else { $mobileFlag + '=false' }
+ $d = If ($wasm) { $wasmFlag } Else { $wasmFlag + '=false' }
+ $e = If ($wasmVsCode) { $wasmVsCodeFlag } Else { $wasmVsCodeFlag + '=false' }
+ $f = If ($skiaWpf) { $skiaWpfFlag } Else { $skiaWpfFlag + '=false' }
+ $g = If ($skiaGtk) { $skiaGtkFlag } Else { $skiaGtkFlag + '=false' }
+ $h = If ($skiaLinuxFB) { $skiaLinuxFBFlag} Else { $skiaLinuxFBFlag + '=false' }
+
+ @($a, $b, $c, $d, $e, $f, $g, $h)
+}
+
+$default = @('-v', 'detailed', "-p:RestoreConfigFile=$env:NUGET_CI_CONFIG")
+
+$debug = $default + '-c' + 'Debug'
+$release = $default + '-c' + 'Release'
+
+# WinUI
+$createParams=(Get-TemplateConfiguration -wasm 1 -wasmVsCode 1 -skiaGtk 1 -skiaLinuxFB 1)
+dotnet new unoapp -n UnoAppWinUI --framework net7.0 $createParams
+
+dotnet build $debug UnoAppWinUI/UnoAppWinUI.Wasm/UnoAppWinUI.Wasm.csproj
+Assert-ExitCodeIsZero
+
+dotnet build $release UnoAppWinUI/UnoAppWinUI.Wasm/UnoAppWinUI.Wasm.csproj
+Assert-ExitCodeIsZero
+
+dotnet build $debug UnoAppWinUI/UnoAppWinUI.Skia.Gtk/UnoAppWinUI.Skia.Gtk.csproj
+Assert-ExitCodeIsZero
+
+dotnet build $release UnoAppWinUI/UnoAppWinUI.Skia.Gtk/UnoAppWinUI.Skia.Gtk.csproj
+Assert-ExitCodeIsZero
+
+dotnet build $debug UnoAppWinUI/UnoAppWinUI.Skia.Linux.FrameBuffer/UnoAppWinUI.Skia.Linux.FrameBuffer.csproj
+Assert-ExitCodeIsZero
+
+dotnet build $release UnoAppWinUI/UnoAppWinUI.Skia.Linux.FrameBuffer/UnoAppWinUI.Skia.Linux.FrameBuffer.csproj
+Assert-ExitCodeIsZero
diff --git a/build/test-scripts/wasm-run-automated-uitests.sh b/build/test-scripts/wasm-run-automated-uitests.sh
index e6f24ae5844f..ab101c1df689 100755
--- a/build/test-scripts/wasm-run-automated-uitests.sh
+++ b/build/test-scripts/wasm-run-automated-uitests.sh
@@ -11,7 +11,7 @@ npm i puppeteer@14.1.0
# install dotnet serve / Remove as needed
dotnet tool uninstall dotnet-serve -g || true
dotnet tool uninstall dotnet-serve --tool-path $BUILD_SOURCESDIRECTORY/build/tools || true
-dotnet tool install dotnet-serve --version 1.8.15 --tool-path $BUILD_SOURCESDIRECTORY/build/tools || true
+dotnet tool install dotnet-serve --version 1.10.140 --tool-path $BUILD_SOURCESDIRECTORY/build/tools || true
export PATH="$PATH:$BUILD_SOURCESDIRECTORY/build/tools"
export UNO_UITEST_TARGETURI=http://localhost:8000
diff --git a/build/uno.winui.runtime-replace.targets b/build/uno.winui.runtime-replace.targets
index cab70c6e183c..378130ea292b 100644
--- a/build/uno.winui.runtime-replace.targets
+++ b/build/uno.winui.runtime-replace.targets
@@ -5,6 +5,11 @@
+
+ <_UnoRuntimeTargetFramework>netstandard2.0
+ <_UnoRuntimeTargetFramework Condition="'$(TargetFrameworkVersion)'!='' and '$(TargetFrameworkVersion.Substring(1))'>='7.0'">net7.0
+
+
@@ -18,12 +23,15 @@
Include="@(UnoRuntimeEnabledPackage)"
Condition="'%(UnoRuntimeEnabledPackage.PackageBasePath)'==''" />
+
-
+
+
+
+
+
+
+
+
+
+
+
-
+
netstandard2.0`, then open either the android or iOS solution filters, then build the `Uno.UI` project (and only this one, the other projects in the solution will fail to build). Doing this will generate the proper assemblies with the new APIs to be used in application or libraries using the cache override.
+In order to update those reference assemblies, set `...` to `net7.0` or `netstandard2.0`, then open the `Uno.UI-Reference-Only.slnf` filter. You can now build the `Uno.UI` project. Doing this will generate the proper assemblies with the new APIs to be used in application or libraries using the nuget cache override.
### Using the Package Diff tool
diff --git a/doc/articles/uno-development/creating-ui-tests.md b/doc/articles/uno-development/creating-ui-tests.md
index 505478cc20e2..c868cff17a2b 100644
--- a/doc/articles/uno-development/creating-ui-tests.md
+++ b/doc/articles/uno-development/creating-ui-tests.md
@@ -17,7 +17,7 @@ UI tests contribute significantly to the CI build time, and for many purposes a
## Running UI tests locally
1. Ensure [your environment is configured](../get-started-vs.md) for the platform you want to run on.
-1. Ensure `UnoTargetFrameworkOverride` is set to `MonoAndroid11.0` or `net6.0-android` for testing on Android, `xamarinios` or `net6.0-ios` for testing on iOS, and `netstandard2.0` for testing on Wasm.
+1. Ensure `UnoTargetFrameworkOverride` is set to `MonoAndroid11.0` or `net6.0-android` for testing on Android, `xamarinios` or `net6.0-ios` for testing on iOS, and `net7.0` or `netstandard2.0` for testing on Wasm.
1. Open Uno.UI with the [correct target override and solution filter](building-uno-ui.md) for the platform you want to run on.
1. [Build and run the SamplesApp](working-with-the-samples-apps.md) at least once.
1. Only Android and WASM are supported from Visual Studio for Windows. (Running tests on iOS using a Mac is possible, see additional instructions below.)
diff --git a/src/AddIns/Uno.UI.Lottie/Uno.UI.Lottie.Reference.csproj b/src/AddIns/Uno.UI.Lottie/Uno.UI.Lottie.Reference.csproj
new file mode 100644
index 000000000000..30c0bd63e30d
--- /dev/null
+++ b/src/AddIns/Uno.UI.Lottie/Uno.UI.Lottie.Reference.csproj
@@ -0,0 +1,91 @@
+
+
+
+ netstandard2.0
+
+
+
+ $(TargetFrameworks);net7.0
+
+
+
+ $(UnoTargetFrameworkOverride)
+
+
+
+ $(NoWarn);NU1701;Uno0001
+ true
+ true
+ enable
+ Uno.UI.Lottie
+ Uno.UI.Lottie
+
+ $(DefineConstants);HAS_SKOTTIE
+
+ Reference
+
+
+
+
+
+
+
+
+ build
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_OverrideTargetFramework>$(TargetFramework)
+ <_baseNugetPath Condition="'$(USERPROFILE)'!=''">$(USERPROFILE)
+ <_baseNugetPath Condition="'$(HOME)'!=''">$(HOME)
+ <_TargetNugetFolder>$(_baseNugetPath)\.nuget\packages\Uno.UI.Lottie\$(UnoNugetOverrideVersion)\lib\$(_OverrideTargetFramework)
+
+
+ <_OutputFiles Include="$(TargetDir)**" />
+
+
+
+
+
+
+
+
+
diff --git a/src/AddIns/Uno.UI.Lottie/Uno.UI.Lottie.Skia.csproj b/src/AddIns/Uno.UI.Lottie/Uno.UI.Lottie.Skia.csproj
index 648e6862735a..7aff2b95da82 100644
--- a/src/AddIns/Uno.UI.Lottie/Uno.UI.Lottie.Skia.csproj
+++ b/src/AddIns/Uno.UI.Lottie/Uno.UI.Lottie.Skia.csproj
@@ -3,6 +3,10 @@
netstandard2.0
+
+ $(TargetFrameworks);net7.0
+
+
@@ -27,6 +31,10 @@
+
+
+
+
diff --git a/src/AddIns/Uno.UI.Lottie/Uno.UI.Lottie.Wasm.csproj b/src/AddIns/Uno.UI.Lottie/Uno.UI.Lottie.Wasm.csproj
index 15035a109139..e7aa91502122 100644
--- a/src/AddIns/Uno.UI.Lottie/Uno.UI.Lottie.Wasm.csproj
+++ b/src/AddIns/Uno.UI.Lottie/Uno.UI.Lottie.Wasm.csproj
@@ -3,6 +3,10 @@
netstandard2.0
+
+ $(TargetFrameworks);net7.0
+
+
diff --git a/src/AddIns/Uno.UI.MSAL/Uno.UI.MSAL.Reference.csproj b/src/AddIns/Uno.UI.MSAL/Uno.UI.MSAL.Reference.csproj
new file mode 100644
index 000000000000..bd4e4d1a6eb4
--- /dev/null
+++ b/src/AddIns/Uno.UI.MSAL/Uno.UI.MSAL.Reference.csproj
@@ -0,0 +1,92 @@
+
+
+
+ netstandard2.0
+
+
+
+ $(TargetFrameworks);net7.0
+
+
+
+ $(UnoTargetFrameworkOverride)
+
+
+
+ $(NoWarn);NU1701;NU5100;NU5118;NU5128
+ true
+ true
+ Uno.UI.MSAL
+ Uno.UI.MSAL
+
+
+ $(NoWarn);NU1703
+
+
+
+ nventive
+ https://github.com/unoplatform/uno
+ uno.png
+ https://github.com/unoplatform/uno
+ This package provides the extensions to MSAL (Microsoft.Identity.Client) for an Uno Platform application.
+ Copyright (C) 2015-2020 nventive inc. - all rights reserved
+
+ Uno.UI.MSAL
+ Uno.WinUI.MSAL
+
+ Reference
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ buildTransitive
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_OverrideTargetFramework>$(TargetFramework)
+ <_baseNugetPath Condition="'$(USERPROFILE)'!=''">$(USERPROFILE)
+ <_baseNugetPath Condition="'$(HOME)'!=''">$(HOME)
+ <_TargetNugetFolder>$(_baseNugetPath)\.nuget\packages\Uno.UI.MSAL\$(UnoNugetOverrideVersion)\lib\$(_OverrideTargetFramework)
+
+
+ <_OutputFiles Include="$(TargetDir)**" />
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/AddIns/Uno.UI.MSAL/Uno.UI.MSAL.Skia.csproj b/src/AddIns/Uno.UI.MSAL/Uno.UI.MSAL.Skia.csproj
index 850ec9a5bc34..87b67ebcfdaa 100644
--- a/src/AddIns/Uno.UI.MSAL/Uno.UI.MSAL.Skia.csproj
+++ b/src/AddIns/Uno.UI.MSAL/Uno.UI.MSAL.Skia.csproj
@@ -3,6 +3,10 @@
netstandard2.0
+
+ $(TargetFrameworks);net7.0
+
+
diff --git a/src/AddIns/Uno.UI.MSAL/Uno.UI.MSAL.Wasm.csproj b/src/AddIns/Uno.UI.MSAL/Uno.UI.MSAL.Wasm.csproj
index 1c6278b9afe9..e02fbcb88b56 100644
--- a/src/AddIns/Uno.UI.MSAL/Uno.UI.MSAL.Wasm.csproj
+++ b/src/AddIns/Uno.UI.MSAL/Uno.UI.MSAL.Wasm.csproj
@@ -3,9 +3,17 @@
netstandard2.0
+
+ $(TargetFrameworks);net7.0
+
+
+
+ $(TargetFrameworks);net7.0
+
+
$(NoWarn);NU1701
true
diff --git a/src/AddIns/Uno.UI.MSAL/WasmHttpFactory.wasm.cs b/src/AddIns/Uno.UI.MSAL/WasmHttpFactory.wasm.cs
index a564485be8f0..0818232cf0a7 100644
--- a/src/AddIns/Uno.UI.MSAL/WasmHttpFactory.wasm.cs
+++ b/src/AddIns/Uno.UI.MSAL/WasmHttpFactory.wasm.cs
@@ -8,6 +8,6 @@ internal class WasmHttpFactory : IMsalHttpClientFactory
{
public static readonly WasmHttpFactory Instance = new WasmHttpFactory();
- public HttpClient GetHttpClient() => new HttpClient(new WasmHttpHandler());
+ public HttpClient GetHttpClient() => new HttpClient();
}
}
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index 3a94091e9704..9e043fe9f4cd 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -64,43 +64,54 @@
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.Foundation.Skia.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.Foundation.Wasm.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.Foundation.net6.csproj
+ <_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.Foundation.Reference.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.Skia.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.Wasm.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.net6.csproj
+ <_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.Reference.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Skia.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Wasm.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.net6.csproj
+ <_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Reference.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.RuntimeTests.Wasm.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.RuntimeTests.Skia.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.RuntimeTests.net6.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.MSAL.Wasm.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.MSAL.Skia.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.MSAL.net6.csproj
+ <_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.MSAL.Reference.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Lottie.Wasm.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Lottie.Skia.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Lottie.net6.csproj
+ <_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Lottie.Reference.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.RemoteControl.Wasm.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.RemoteControl.Skia.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.RemoteControl.net6.csproj
+ <_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.RemoteControl.Reference.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Toolkit.Wasm.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Toolkit.Skia.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Toolkit.net6.csproj
+ <_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Toolkit.Reference.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Foldable.net6.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.FluentTheme.Wasm.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.FluentTheme.Skia.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.FluentTheme.net6.csproj
+ <_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.FluentTheme.Reference.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.FluentTheme.v1.Wasm.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.FluentTheme.v1.Skia.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.FluentTheme.v1.net6.csproj
+ <_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.FluentTheme.v1.Reference.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.FluentTheme.v2.Wasm.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.FluentTheme.v2.Skia.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.FluentTheme.v2.net6.csproj
+ <_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.FluentTheme.v2.Reference.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.Xaml.net6.csproj
+ <_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.Xaml.Reference.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Adapter.Microsoft.Extensions.Logging.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Adapter.Microsoft.Extensions.Logging.net6.csproj
@@ -112,16 +123,19 @@
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Dispatching.net6.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Dispatching.Skia.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Dispatching.Wasm.csproj
+ <_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Dispatching.Reference.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Composition.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Composition.net6.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Composition.Skia.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Composition.Wasm.csproj
+ <_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.Composition.Reference.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.XamlHost.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.XamlHost.net6.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.XamlHost.Skia.csproj
<_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.XamlHost.Wasm.csproj
+ <_AdjustedOutputProjects>$(_AdjustedOutputProjects);Uno.UI.XamlHost.Reference.csproj
diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets
index e471f18581ef..5904f1481f00 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.Shared/Samples/UnitTests/HttpUnitTests.xaml b/src/SamplesApp/SamplesApp.Shared/Samples/UnitTests/HttpUnitTests.xaml
index 41211285c72a..3eca35977327 100644
--- a/src/SamplesApp/SamplesApp.Shared/Samples/UnitTests/HttpUnitTests.xaml
+++ b/src/SamplesApp/SamplesApp.Shared/Samples/UnitTests/HttpUnitTests.xaml
@@ -9,7 +9,7 @@
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
-
+
diff --git a/src/SamplesApp/SamplesApp.Skia.Gtk/SamplesApp.Skia.Gtk.csproj b/src/SamplesApp/SamplesApp.Skia.Gtk/SamplesApp.Skia.Gtk.csproj
index 0b3241fdea10..82e1023e1db0 100644
--- a/src/SamplesApp/SamplesApp.Skia.Gtk/SamplesApp.Skia.Gtk.csproj
+++ b/src/SamplesApp/SamplesApp.Skia.Gtk/SamplesApp.Skia.Gtk.csproj
@@ -4,10 +4,18 @@
Major
+
+ $(TargetFrameworks);net7.0
+
+
netcoreapp3.1
+
+ net7.0
+
+
$(UnoTargetFrameworkOverride)
diff --git a/src/SamplesApp/SamplesApp.Skia.WPF/SamplesApp.Skia.WPF.csproj b/src/SamplesApp/SamplesApp.Skia.WPF/SamplesApp.Skia.WPF.csproj
index 6fecb7566ed4..6b4e708bd318 100644
--- a/src/SamplesApp/SamplesApp.Skia.WPF/SamplesApp.Skia.WPF.csproj
+++ b/src/SamplesApp/SamplesApp.Skia.WPF/SamplesApp.Skia.WPF.csproj
@@ -1,13 +1,17 @@
- net5.0-windows
+ net6.0-windows
Major
+
+ net7.0-windows
+
+
<_Parameter1>false
@@ -51,7 +55,14 @@
-
+
+
+
+
+
+
+
+
diff --git a/src/SamplesApp/SamplesApp.Skia/SamplesApp.Skia.csproj b/src/SamplesApp/SamplesApp.Skia/SamplesApp.Skia.csproj
index d749cfb266d3..2926a17102cc 100644
--- a/src/SamplesApp/SamplesApp.Skia/SamplesApp.Skia.csproj
+++ b/src/SamplesApp/SamplesApp.Skia/SamplesApp.Skia.csproj
@@ -3,6 +3,10 @@
netstandard2.0;net5.0
+
+ $(TargetFrameworks);net7.0
+
+
$(UnoTargetFrameworkOverride)
@@ -11,7 +15,8 @@
$(DefineConstants);__SKIA__;HAS_UNO;UNO_REFERENCE_API
true
Skia
-
+ true
+
diff --git a/src/SamplesApp/SamplesApp.Wasm/SamplesApp.Wasm.csproj b/src/SamplesApp/SamplesApp.Wasm/SamplesApp.Wasm.csproj
index b2216958fd9c..45842c870059 100644
--- a/src/SamplesApp/SamplesApp.Wasm/SamplesApp.Wasm.csproj
+++ b/src/SamplesApp/SamplesApp.Wasm/SamplesApp.Wasm.csproj
@@ -1,8 +1,15 @@
+
+ net6.0
+
+
+
+ net7.0
+
+
Exe
- net6.0
$(DefineConstants);__WASM__;HAS_UNO;UNO_REFERENCE_API
$(NoWarn);NU1701;CS1998;NU1504;UXAML0002
true
@@ -62,7 +69,6 @@
-
@@ -74,7 +80,7 @@
-
+
diff --git a/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/BreadcrumbTests/BreadcrumbBarPage.xaml.cs b/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/BreadcrumbTests/BreadcrumbBarPage.xaml.cs
index 79306c5afad5..f934612f84c8 100644
--- a/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/BreadcrumbTests/BreadcrumbBarPage.xaml.cs
+++ b/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/BreadcrumbTests/BreadcrumbBarPage.xaml.cs
@@ -1,5 +1,6 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See LICENSE in the project root for license information.
+#pragma warning disable CS0105 // duplicate namespace because of WinUI source conversion
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
diff --git a/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/InfoBarTests/InfoBarPage.xaml.cs b/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/InfoBarTests/InfoBarPage.xaml.cs
index 39694eb98f54..0795211c4b4f 100644
--- a/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/InfoBarTests/InfoBarPage.xaml.cs
+++ b/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/InfoBarTests/InfoBarPage.xaml.cs
@@ -1,6 +1,7 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See LICENSE in the project root for license information.
// MUX Reference InfoBarPage.xaml.cs, commit b424312
+#pragma warning disable CS0105 // duplicate namespace because of WinUI source conversion
using System;
using Windows.UI;
diff --git a/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/NavigationViewTests/FluentStyle/NavigationViewSample.xaml.cs b/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/NavigationViewTests/FluentStyle/NavigationViewSample.xaml.cs
index 7c5b90e14fc2..31c216c2e38f 100644
--- a/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/NavigationViewTests/FluentStyle/NavigationViewSample.xaml.cs
+++ b/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/NavigationViewTests/FluentStyle/NavigationViewSample.xaml.cs
@@ -20,7 +20,9 @@ namespace SamplesApp.Samples.Microsoft_UI_Xaml_Controls.NavigationViewTests.Flue
/// An empty page that can be used on its own or navigated to within a Frame.
///
[SampleControlInfo("NavigationView", "FluentStyle_NavigationViewSample")]
+#pragma warning disable UXAML0002 // does not explicitly define the Windows.UI.Xaml.Controls.UserControl base type in code behind.
public sealed partial class FluentStyle_NavigationViewSample
+#pragma warning restore UXAML0002 // does not explicitly define the Windows.UI.Xaml.Controls.UserControl base type in code behind.
{
public FluentStyle_NavigationViewSample()
{
diff --git a/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/NumberBoxTests/NumberBoxPage.xaml.cs b/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/NumberBoxTests/NumberBoxPage.xaml.cs
index 590badbe8be3..554efa7e6dfc 100644
--- a/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/NumberBoxTests/NumberBoxPage.xaml.cs
+++ b/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/NumberBoxTests/NumberBoxPage.xaml.cs
@@ -1,4 +1,6 @@
-using System;
+#pragma warning disable CS0105 // duplicate namespace because of WinUI source conversion
+
+using System;
using System.Collections.Generic;
using System.ComponentModel;
using Microsoft.UI.Xaml.Controls;
diff --git a/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/PipsPagerTests/PipsPagerPage.xaml.cs b/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/PipsPagerTests/PipsPagerPage.xaml.cs
index 61a030fa97ea..300ee5fbeb37 100644
--- a/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/PipsPagerTests/PipsPagerPage.xaml.cs
+++ b/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/PipsPagerTests/PipsPagerPage.xaml.cs
@@ -1,6 +1,7 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See LICENSE in the project root for license information.
// MUX reference PipsPagerPage.xaml.cs, commit fc2d862
+#pragma warning disable CS0105 // duplicate namespace because of WinUI source conversion
using System;
using Windows.UI.Xaml.Controls;
diff --git a/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/TreeView/TreeView_ItemInvoked.xaml.cs b/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/TreeView/TreeView_ItemInvoked.xaml.cs
index b9d57f66e9a7..eb597a831932 100644
--- a/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/TreeView/TreeView_ItemInvoked.xaml.cs
+++ b/src/SamplesApp/UITests.Shared/Microsoft_UI_Xaml_Controls/TreeView/TreeView_ItemInvoked.xaml.cs
@@ -1,4 +1,6 @@
-using System;
+#pragma warning disable CS0105 // duplicate namespace because of WinUI source conversion
+
+using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
diff --git a/src/SamplesApp/UITests.Shared/Msal/MsalLoginAndGraph.xaml.cs b/src/SamplesApp/UITests.Shared/Msal/MsalLoginAndGraph.xaml.cs
index ed96bbf46741..68b1bde4aa3f 100644
--- a/src/SamplesApp/UITests.Shared/Msal/MsalLoginAndGraph.xaml.cs
+++ b/src/SamplesApp/UITests.Shared/Msal/MsalLoginAndGraph.xaml.cs
@@ -62,11 +62,7 @@ private async void SignIn(object sender, RoutedEventArgs e)
private async void LoadFromGraph(object sender, RoutedEventArgs e)
{
-#if __WASM__
- var http = new HttpClient(new Uno.UI.Wasm.WasmHttpHandler());
-#else
var http = new HttpClient();
-#endif
var httpClient = http;
var client = new GraphServiceClient(httpClient);
client.AuthenticationProvider = this;
diff --git a/src/SamplesApp/UITests.Shared/Windows_UI_Xaml_Controls/ImageTests/BitmapImage_vs_SvgImageSource.cs b/src/SamplesApp/UITests.Shared/Windows_UI_Xaml_Controls/ImageTests/BitmapImage_vs_SvgImageSource.cs
index c560f4765a25..c28424394b96 100644
--- a/src/SamplesApp/UITests.Shared/Windows_UI_Xaml_Controls/ImageTests/BitmapImage_vs_SvgImageSource.cs
+++ b/src/SamplesApp/UITests.Shared/Windows_UI_Xaml_Controls/ImageTests/BitmapImage_vs_SvgImageSource.cs
@@ -140,11 +140,7 @@ void Log(string msg)
private async Task GetStream()
{
-#if __WASM__
- using var httpClient = new HttpClient(new Uno.UI.Wasm.WasmHttpHandler());
-#else
using var httpClient = new HttpClient();
-#endif
var data = await httpClient.GetByteArrayAsync(url.Text);
return new MemoryStream(data).AsRandomAccessStream();
diff --git a/src/SamplesApp/UITests.Shared/Windows_UI_Xaml_Controls/ImageTests/ImageSourceStream.xaml.cs b/src/SamplesApp/UITests.Shared/Windows_UI_Xaml_Controls/ImageTests/ImageSourceStream.xaml.cs
index f9c925bbb859..c504f13ede8c 100644
--- a/src/SamplesApp/UITests.Shared/Windows_UI_Xaml_Controls/ImageTests/ImageSourceStream.xaml.cs
+++ b/src/SamplesApp/UITests.Shared/Windows_UI_Xaml_Controls/ImageTests/ImageSourceStream.xaml.cs
@@ -35,11 +35,7 @@ private async void OnLoaded(object sender, RoutedEventArgs e)
private static async Task GetStream(string url)
{
-#if __WASM__
- using var httpClient = new HttpClient(new Uno.UI.Wasm.WasmHttpHandler());
-#else
using var httpClient = new HttpClient();
-#endif
var data = await httpClient.GetByteArrayAsync(url);
return new MemoryStream(data).AsRandomAccessStream();
diff --git a/src/SamplesApp/UITests.Shared/Windows_UI_Xaml_Controls/NavigationViewTests/NavigationViewSample.xaml.cs b/src/SamplesApp/UITests.Shared/Windows_UI_Xaml_Controls/NavigationViewTests/NavigationViewSample.xaml.cs
index cdf8a1a3e7dd..62c962d6e18b 100644
--- a/src/SamplesApp/UITests.Shared/Windows_UI_Xaml_Controls/NavigationViewTests/NavigationViewSample.xaml.cs
+++ b/src/SamplesApp/UITests.Shared/Windows_UI_Xaml_Controls/NavigationViewTests/NavigationViewSample.xaml.cs
@@ -20,7 +20,9 @@ namespace SamplesApp.Samples.NavigationViewSample
/// An empty page that can be used on its own or navigated to within a Frame.
///
[SampleControlInfo("NavigationView", "NavigationViewSample")]
+#pragma warning disable UXAML0002 // does not explicitly define the Windows.UI.Xaml.Controls.UserControl base type in code behind.
public sealed partial class NavigationViewSample
+#pragma warning restore UXAML0002 // does not explicitly define the Windows.UI.Xaml.Controls.UserControl base type in code behind.
{
public NavigationViewSample()
{
diff --git a/src/SamplesApp/UITests.Shared/Windows_UI_Xaml_Controls/PersonPictureTests/PersonPicturePage.xaml.cs b/src/SamplesApp/UITests.Shared/Windows_UI_Xaml_Controls/PersonPictureTests/PersonPicturePage.xaml.cs
index 1f1fcf4c6624..3954c4c20e66 100644
--- a/src/SamplesApp/UITests.Shared/Windows_UI_Xaml_Controls/PersonPictureTests/PersonPicturePage.xaml.cs
+++ b/src/SamplesApp/UITests.Shared/Windows_UI_Xaml_Controls/PersonPictureTests/PersonPicturePage.xaml.cs
@@ -19,9 +19,11 @@
namespace MUXControlsTestApp
{
[Sample("MUX","PersonPicture")]
+#pragma warning disable UXAML0002 // does not explicitly define the Windows.UI.Xaml.Controls.UserControl base type in code behind.
public sealed partial class PersonPicturePage
- {
- private Uri imageUri = new Uri("ms-appx:///Assets/ingredient2.png");
+#pragma warning restore UXAML0002 // does not explicitly define the Windows.UI.Xaml.Controls.UserControl base type in code behind.
+ {
+ private Uri imageUri = new Uri("ms-appx:///Assets/ingredient2.png");
private bool primaryEllipseLoaded = false;
public PersonPicturePage()
diff --git a/src/SamplesApp/UITests.Shared/Windows_UI_Xaml_Media/ImageBrushTests/ImageBrush_StreamSource.xaml.cs b/src/SamplesApp/UITests.Shared/Windows_UI_Xaml_Media/ImageBrushTests/ImageBrush_StreamSource.xaml.cs
index dcd0c424d4fe..164e5388fa9f 100644
--- a/src/SamplesApp/UITests.Shared/Windows_UI_Xaml_Media/ImageBrushTests/ImageBrush_StreamSource.xaml.cs
+++ b/src/SamplesApp/UITests.Shared/Windows_UI_Xaml_Media/ImageBrushTests/ImageBrush_StreamSource.xaml.cs
@@ -37,11 +37,7 @@ public ImageBrush_StreamSource()
this.RunWhileLoaded(async ct =>
{
-#if __WASM__
- using var httpClient = new HttpClient(new Uno.UI.Wasm.WasmHttpHandler());
-#else
using var httpClient = new HttpClient();
-#endif
const string imageUrl = "https://nv-assets.azurewebsites.net/tests/images/uno-overalls.jpg";
var data = await httpClient.GetByteArrayAsync(imageUrl);
diff --git a/src/SolutionTemplate/Uno.ProjectTemplates.Dotnet/Uno.ProjectTemplates.Dotnet.csproj b/src/SolutionTemplate/Uno.ProjectTemplates.Dotnet/Uno.ProjectTemplates.Dotnet.csproj
index b4d8f5ed9f4a..4150150d5868 100644
--- a/src/SolutionTemplate/Uno.ProjectTemplates.Dotnet/Uno.ProjectTemplates.Dotnet.csproj
+++ b/src/SolutionTemplate/Uno.ProjectTemplates.Dotnet/Uno.ProjectTemplates.Dotnet.csproj
@@ -88,7 +88,7 @@
<_UnoAppTemplateFilesExclude Include="..\UnoSolutionTemplate\**\*.vstemplate" />
- <_UnoAppTemplateFilesExclude Include="..\UnoSolutionTemplate\__*.png" />
+ <_UnoAppTemplateFilesExclude Include="..\UnoSolutionTemplate\**\__*.png" />
<_UnoAppTemplateFilesExclude Include="..\UnoSolutionTemplate\**\obj\**" />
<_UnoAppTemplateFilesExclude Include="..\UnoSolutionTemplate\**\bin\**" />
<_UnoAppTemplateFilesExclude Include="..\UnoSolutionTemplate\Properties\**" />
@@ -99,7 +99,7 @@
<_UnoAppnet6UWPTemplateFilesExclude Include="..\UnoSolutionTemplate.net6\**\*.vstemplate" />
- <_UnoAppnet6UWPTemplateFilesExclude Include="..\UnoSolutionTemplate.net6\__*.png" />
+ <_UnoAppnet6UWPTemplateFilesExclude Include="..\UnoSolutionTemplate.net6\**\__*.png" />
<_UnoAppnet6UWPTemplateFilesExclude Include="..\UnoSolutionTemplate.net6\**\obj\**" />
<_UnoAppnet6UWPTemplateFilesExclude Include="..\UnoSolutionTemplate.net6\**\bin\**" />
<_UnoAppnet6UWPTemplateFilesExclude Include="..\UnoSolutionTemplate.net6\Properties\**" />
@@ -110,18 +110,18 @@
<_UnoAppnet6WinUITemplateFilesExclude Include="..\UnoSolutionTemplate.WinUI.net6\**\*.vstemplate" />
- <_UnoAppnet6WinUITemplateFilesExclude Include="..\UnoSolutionTemplate.WinUI.net6\__*.png" />
+ <_UnoAppnet6WinUITemplateFilesExclude Include="..\UnoSolutionTemplate.WinUI.net6\**\__*.png" />
<_UnoAppnet6WinUITemplateFilesExclude Include="..\UnoSolutionTemplate.WinUI.net6\**\obj\**" />
<_UnoAppnet6WinUITemplateFilesExclude Include="..\UnoSolutionTemplate.WinUI.net6\**\bin\**" />
<_UnoAppnet6WinUITemplateFilesExclude Include="..\UnoSolutionTemplate.WinUI.net6\Properties\**" />
- <_UnoAppnet6WinUITemplateFilesExclude Include="..\UnoSolutionTemplate.WinUI.net6\UnoSolutionTemplate.csproj" />
+ <_UnoAppnet6WinUITemplateFilesExclude Include="..\UnoSolutionTemplate.WinUI.net6\UnoSolutionTemplate.WinUI.net6.csproj" />
<_UnoAppnet6WinUITemplateFiles Include="..\UnoSolutionTemplate.WinUI.net6\**" Exclude="@(_UnoAppnet6WinUITemplateFilesExclude)" />
<_UnoLibTemplateFilesExclude Include="..\UnoLibraryTemplate\*.vstemplate" />
- <_UnoLibTemplateFilesExclude Include="..\UnoLibraryTemplate\__*.png" />
+ <_UnoLibTemplateFilesExclude Include="..\UnoLibraryTemplate\**\__*.png" />
<_UnoLibTemplateFilesExclude Include="..\UnoLibraryTemplate\obj\**" />
<_UnoLibTemplateFilesExclude Include="..\UnoLibraryTemplate\bin\**" />
<_UnoLibTemplateFilesExclude Include="..\UnoLibraryTemplate\Properties\**" />
@@ -132,7 +132,7 @@
<_UnoUITestTemplateFilesExclude Include="..\UnoUITestTemplate\*.vstemplate" />
- <_UnoUITestTemplateFilesExclude Include="..\UnoUITestTemplate\__*.png" />
+ <_UnoUITestTemplateFilesExclude Include="..\UnoUITestTemplate\**\__*.png" />
<_UnoUITestTemplateFilesExclude Include="..\UnoUITestTemplate\obj\**" />
<_UnoUITestTemplateFilesExclude Include="..\UnoUITestTemplate\bin\**" />
<_UnoUITestTemplateFilesExclude Include="..\UnoUITestTemplate\Properties\**" />
@@ -296,7 +296,7 @@
Directory.EnumerateFiles(SourcePath, f, SearchOption.AllDirectories)))
{
diff --git a/src/SolutionTemplate/UnoSolutionTemplate.WinUI.net6/Wasm/UnoQuickStart.Wasm.csproj b/src/SolutionTemplate/UnoSolutionTemplate.WinUI.net6/Wasm/UnoQuickStart.Wasm.csproj
index c0ce6a879bad..4e3dcccdfc35 100644
--- a/src/SolutionTemplate/UnoSolutionTemplate.WinUI.net6/Wasm/UnoQuickStart.Wasm.csproj
+++ b/src/SolutionTemplate/UnoSolutionTemplate.WinUI.net6/Wasm/UnoQuickStart.Wasm.csproj
@@ -49,13 +49,14 @@
-
+
+
-
-
+
+
diff --git a/src/SourceGenerators/System.Xaml/Uno.Xaml.Reference.csproj b/src/SourceGenerators/System.Xaml/Uno.Xaml.Reference.csproj
new file mode 100644
index 000000000000..3735a00e601e
--- /dev/null
+++ b/src/SourceGenerators/System.Xaml/Uno.Xaml.Reference.csproj
@@ -0,0 +1,36 @@
+
+
+ netstandard2.0
+
+
+
+ $(TargetFrameworks);net7.0
+
+
+
+ true
+ Uno.Xaml
+
+ false
+ true
+ bin\$(Configuration)\$(TargetFramework)\
+ $(BaseIntermediateOutputPath)$(Configuration)\$(TargetFramework)\
+ false
+
+ Reference
+
+
+
+
+
+ $(DefineConstants);NET_4_0;NET_4_5;NET_4_6;MONO;WIN_PLATFORM;MULTIPLEX_OS
+ true
+ full
+ true
+
+
+
+
+
+
+
diff --git a/src/SourceGenerators/Uno.UI.SourceGenerators.Internal/Uno.UI.SourceGenerators.Internal.csproj b/src/SourceGenerators/Uno.UI.SourceGenerators.Internal/Uno.UI.SourceGenerators.Internal.csproj
index e2216f240854..78fd04d2e844 100644
--- a/src/SourceGenerators/Uno.UI.SourceGenerators.Internal/Uno.UI.SourceGenerators.Internal.csproj
+++ b/src/SourceGenerators/Uno.UI.SourceGenerators.Internal/Uno.UI.SourceGenerators.Internal.csproj
@@ -3,7 +3,6 @@
netstandard2.0
Uno.UI.SourceGenerators.Internal
true
- true
true
true
diff --git a/src/SourceGenerators/Uno.UI.Tasks/Content/Uno.UI.Tasks.targets b/src/SourceGenerators/Uno.UI.Tasks/Content/Uno.UI.Tasks.targets
index f6a33c80fcb2..75ac669f8f24 100644
--- a/src/SourceGenerators/Uno.UI.Tasks/Content/Uno.UI.Tasks.targets
+++ b/src/SourceGenerators/Uno.UI.Tasks/Content/Uno.UI.Tasks.targets
@@ -163,6 +163,8 @@
OutputPath="$(ProjectDir)$(IntermediateOutputPath)/linkerhints"
ReferencePath="@(_UnoLinkerHintsPass1AssembliesForReferencePaths)"
ILLinkerPath="$(_UnoLinkerHintGeneratorILLinkerPath)"
+ TargetFramework="$(TargetFramework)"
+ TargetFrameworkVersion="$(TargetFrameworkVersion.Substring(1))"
UnoUIPackageBasePath="$(_UnoUIPackageBasePath)"
UnoRuntimeIdentifier="$(UnoRuntimeIdentifier)">