diff --git a/.github/workflows/azure-static-webapp.yml b/.github/workflows/azure-static-webapp.yml index faf4b8497..271fca632 100644 --- a/.github/workflows/azure-static-webapp.yml +++ b/.github/workflows/azure-static-webapp.yml @@ -1,4 +1,4 @@ -name: Azure Static Web Apps CI/CD +name: Azure Static Web Apps CI/CD on: push: @@ -38,14 +38,14 @@ jobs: useConfigFile: true configFilePath: build/gitversion.yml - - name: Setup dotnet 5.0.x + - name: Setup dotnet 6.0.200 uses: actions/setup-dotnet@v1.7.2 with: - dotnet-version: '5.0.x' + dotnet-version: '6.0.200' - run: | cd src/samples/Uno.Themes.Samples/Uno.Themes.Samples.Wasm - dotnet build -c Release "/p:PackageVersion=${{ steps.gitversion.outputs.fullSemVer }}" + dotnet build -c Release "/p:PackageVersion=${{ steps.gitversion.outputs.fullSemVer }}" /p:DisableNet6MobileTargets=true - uses: actions/upload-artifact@v2 with: diff --git a/azure-pipelines.yml b/azure-pipelines.yml index d6ae14a18..8d6ae9508 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -21,21 +21,23 @@ jobs: UWP: ApplicationPlatform: UWP_x64 ArtifactName: UWP + DisableNet6MobileTargets: true Android: ApplicationPlatform: Android ArtifactName: Android + DisableNet6MobileTargets: true Packages: ApplicationPlatform: Packages - GeneratePackageOnBuild: true ArtifactName: Packages + GeneratePackageOnBuild: true Packages_WinUI: ApplicationPlatform: Packages - GeneratePackageOnBuild: true ArtifactName: Packages UseWinUI: true + GeneratePackageOnBuild: true pool: - vmImage: windows-2019 + vmImage: windows-2022 steps: - template: build/stage-build.yml @@ -48,9 +50,11 @@ jobs: iOS: ApplicationPlatform: iPhone ArtifactName: iOS + DisableNet6MobileTargets: true macOS: ApplicationPlatform: macOS ArtifactName: macOS + DisableNet6MobileTargets: true pool: vmImage: macOS-10.15 diff --git a/build/Install-WindowsSdkISO.ps1 b/build/Install-WindowsSdkISO.ps1 new file mode 100644 index 000000000..6d2c32cc6 --- /dev/null +++ b/build/Install-WindowsSdkISO.ps1 @@ -0,0 +1,308 @@ +[CmdletBinding()] +param([Parameter(Mandatory=$true)] + [string]$buildNumber) + +# Ensure the error action preference is set to the default for PowerShell3, 'Stop' +$ErrorActionPreference = 'Stop' + +# Constants +$WindowsSDKOptions = @("OptionId.UWPCpp") +$WindowsSDKRegPath = "HKLM:\Software\Microsoft\Windows Kits\Installed Roots" +$WindowsSDKRegRootKey = "KitsRoot10" +$WindowsSDKVersion = "10.0.$buildNumber.0" +$WindowsSDKInstalledRegPath = "$WindowsSDKRegPath\$WindowsSDKVersion\Installed Options" +$StrongNameRegPath = "HKLM:\SOFTWARE\Microsoft\StrongName\Verification" +$PublicKeyTokens = @("31bf3856ad364e35") + +function Download-File +{ + param ([string] $outDir, + [string] $downloadUrl, + [string] $downloadName) + + $downloadPath = Join-Path $outDir "$downloadName.download" + $downloadDest = Join-Path $outDir $downloadName + $downloadDestTemp = Join-Path $outDir "$downloadName.tmp" + + Write-Host -NoNewline "Downloading $downloadName..." + + try + { + $webclient = new-object System.Net.WebClient + $webclient.DownloadFile($downloadUrl, $downloadPath) + } + catch [System.Net.WebException] + { + Write-Host + Write-Warning "Failed to fetch updated file from $downloadUrl" + if (!(Test-Path $downloadDest)) + { + throw "$downloadName was not found at $downloadDest" + } + else + { + Write-Warning "$downloadName may be out of date" + } + } + + Unblock-File $downloadPath + + $downloadDestTemp = $downloadPath; + + # Delete and rename to final dest + if (Test-Path -PathType Container $downloadDest) + { + [System.IO.Directory]::Delete($downloadDest, $true) + } + + Move-Item -Force $downloadDestTemp $downloadDest + Write-Host "Done" + + return $downloadDest +} + +function Get-ISODriveLetter +{ + param ([string] $isoPath) + + $diskImage = Get-DiskImage -ImagePath $isoPath + if ($diskImage) + { + $volume = Get-Volume -DiskImage $diskImage + + if ($volume) + { + $driveLetter = $volume.DriveLetter + if ($driveLetter) + { + $driveLetter += ":" + return $driveLetter + } + } + } + + return $null +} + +function Mount-ISO +{ + param ([string] $isoPath) + + # Check if image is already mounted + $isoDrive = Get-ISODriveLetter $isoPath + + if (!$isoDrive) + { + Mount-DiskImage -ImagePath $isoPath -StorageType ISO | Out-Null + } + + $isoDrive = Get-ISODriveLetter $isoPath + Write-Verbose "$isoPath mounted to ${isoDrive}:" +} + +function Dismount-ISO +{ + param ([string] $isoPath) + + $isoDrive = (Get-DiskImage -ImagePath $isoPath | Get-Volume).DriveLetter + + if ($isoDrive) + { + Write-Verbose "$isoPath dismounted" + Dismount-DiskImage -ImagePath $isoPath | Out-Null + } +} + +function Disable-StrongName +{ + param ([string] $publicKeyToken = "*") + + reg ADD "HKLM\SOFTWARE\Microsoft\StrongName\Verification\*,$publicKeyToken" /f | Out-Null + if ($env:PROCESSOR_ARCHITECTURE -eq "AMD64") + { + reg ADD "HKLM\SOFTWARE\Wow6432Node\Microsoft\StrongName\Verification\*,$publicKeyToken" /f | Out-Null + } +} + +function Test-Admin +{ + $identity = [Security.Principal.WindowsIdentity]::GetCurrent() + $principal = New-Object Security.Principal.WindowsPrincipal $identity + $principal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) +} + +function Test-RegistryPathAndValue +{ + param ( + [parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] $path, + [parameter(Mandatory=$true)] + [ValidateNotNullOrEmpty()] + [string] $value) + + try + { + if (Test-Path $path) + { + Get-ItemProperty -Path $path | Select-Object -ExpandProperty $value -ErrorAction Stop | Out-Null + return $true + } + } + catch + { + } + + return $false +} + +function Test-InstallWindowsSDK +{ + $retval = $true + + if (Test-RegistryPathAndValue -Path $WindowsSDKRegPath -Value $WindowsSDKRegRootKey) + { + # A Windows SDK is installed + # Is an SDK of our version installed with the options we need? + if (Test-RegistryPathAndValue -Path $WindowsSDKInstalledRegPath -Value "$WindowsSDKOptions") + { + # It appears we have what we need. Double check the disk + $sdkRoot = Get-ItemProperty -Path $WindowsSDKRegPath | Select-Object -ExpandProperty $WindowsSDKRegRootKey + if ($sdkRoot) + { + if (Test-Path $sdkRoot) + { + $refPath = Join-Path $sdkRoot "References\$WindowsSDKVersion" + if (Test-Path $refPath) + { + $umdPath = Join-Path $sdkRoot "UnionMetadata\$WindowsSDKVersion" + if (Test-Path $umdPath) + { + # Pretty sure we have what we need + $retval = $false + } + } + } + } + } + } + + return $retval +} + +function Test-InstallStrongNameHijack +{ + foreach($publicKeyToken in $PublicKeyTokens) + { + $key = "$StrongNameRegPath\*,$publicKeyToken" + if (!(Test-Path $key)) + { + return $true + } + } + + return $false +} + +Write-Host -NoNewline "Checking for installed Windows SDK $WindowsSDKVersion..." +$InstallWindowsSDK = Test-InstallWindowsSDK +if ($InstallWindowsSDK) +{ + Write-Host "Installation required" +} +else +{ + Write-Host "INSTALLED" +} + +$StrongNameHijack = Test-InstallStrongNameHijack +Write-Host -NoNewline "Checking if StrongName bypass required..." + +if ($StrongNameHijack) +{ + Write-Host "REQUIRED" +} +else +{ + Write-Host "Done" +} + +if ($StrongNameHijack -or $InstallWindowsSDK) +{ + if (!(Test-Admin)) + { + Write-Host + throw "ERROR: Elevation required" + } +} + +if ($InstallWindowsSDK) +{ + # Static(ish) link for Windows SDK + # Note: there is a delay from Windows SDK announcements to availability via the static link + $uri = "https://go.microsoft.com/fwlink/?prd=11966&pver=1.0&plcid=0x409&clcid=0x409&ar=Flight&sar=Sdsurl&o1=$buildNumber" + + if($buildNumber -eq 19041) + { + # Workaround for missing SDK + $uri = "https://software-download.microsoft.com/download/pr/19041.1.191206-1406.vb_release_WindowsSDK.iso"; + } + + if ($env:TEMP -eq $null) + { + $env:TEMP = Join-Path $env:SystemDrive 'temp' + } + + $winsdkTempDir = Join-Path $env:TEMP "WindowsSDK" + + if (![System.IO.Directory]::Exists($winsdkTempDir)) + { + [void][System.IO.Directory]::CreateDirectory($winsdkTempDir) + } + + $file = "winsdk_$buildNumber.iso" + + Write-Verbose "Getting WinSDK from $uri" + $downloadFile = Download-File $winsdkTempDir $uri $file + + # TODO Check if zip, exe, iso, etc. + try + { + Write-Host -NoNewline "Mounting ISO $file..." + Mount-ISO $downloadFile + Write-Host "Done" + + $isoDrive = Get-ISODriveLetter $downloadFile + + if (Test-Path $isoDrive) + { + Write-Host -NoNewLine "Installing WinSDK..." + + $setupPath = Join-Path "$isoDrive" "WinSDKSetup.exe" + Start-Process -Wait $setupPath "/features $WindowsSDKOptions /q" + Write-Host "Done" + } + else + { + throw "Could not find mounted ISO at ${isoDrive}" + } + } + finally + { + Write-Host -NoNewline "Dismounting ISO $file..." + #Dismount-ISO $downloadFile + Write-Host "Done" + } +} + +if ($StrongNameHijack) +{ + Write-Host -NoNewline "Disabling StrongName for Windows SDK..." + + foreach($key in $PublicKeyTokens) + { + Disable-StrongName $key + } + + Write-Host "Done" +} diff --git a/build/dotnet-install-macos.yml b/build/dotnet-install-macos.yml new file mode 100644 index 000000000..5a1fda48e --- /dev/null +++ b/build/dotnet-install-macos.yml @@ -0,0 +1,37 @@ +parameters: + DotNetVersion: '6.0.300-preview.22154.4' + UnoCheck_Version: '1.1.0-dev.22' + UnoCheck_Manifest: 'https://raw.githubusercontent.com/unoplatform/uno.check/d14571a546b55f58e51e392c04cf098168d6fe2d/manifests/uno.ui-preview.manifest.json' + Dotnet_Root: '/usr/local/share/dotnet/' + Dotnet_Tools: '~/.dotnet/tools' + +steps: + + # Required until .NET 6 installs properly using UseDotnet + # using preview builds + - bash: | + export PATH="${{ parameters.Dotnet_Root }}:${{ parameters.Dotnet_Tools }}:$PATH" + curl -L https://raw.githubusercontent.com/dotnet/install-scripts/11b4eebe23d871c074364940d301c3eb53e7c7ec/src/dotnet-install.sh > dotnet-install.sh + sh dotnet-install.sh --version ${{ parameters.DotNetVersion }} --install-dir $DOTNET_ROOT --verbose + dotnet --list-sdks + echo "##vso[task.setvariable variable=PATH]$PATH" + displayName: install .NET ${{ parameters.DotNetVersion }} + retryCountOnTaskFailure: 3 + condition: eq(variables['Agent.OS'], 'Darwin') + + #- task: UseDotNet@2 + # displayName: 'Use .NET Core SDK ${{ parameters.DotNetVersion }}' + # retryCountOnTaskFailure: 3 + # inputs: + # packageType: sdk + # version: ${{ parameters.DotNetVersion }} + # includePreviewVersions: true + + - template: jdk-setup.yml + + - bash: | + dotnet tool update --global uno.check --version ${{ parameters.UnoCheck_Version }} --add-source https://api.nuget.org/v3/index.json + uno-check --ci --non-interactive --fix --skip androidsdk --skip gtk3 --skip xcode --skip vswin --skip vsmac --manifest ${{ parameters.UnoCheck_Manifest }} + displayName: Install .NET Workloads + retryCountOnTaskFailure: 3 + condition: eq(variables['Agent.OS'], 'Darwin') diff --git a/build/dotnet-install-windows.yml b/build/dotnet-install-windows.yml new file mode 100644 index 000000000..08fb45f25 --- /dev/null +++ b/build/dotnet-install-windows.yml @@ -0,0 +1,39 @@ +parameters: + DotNetVersion: '6.0.300-preview.22154.4' + UnoCheck_Version: '1.1.0-dev.22' + UnoCheck_Manifest: 'https://raw.githubusercontent.com/unoplatform/uno.check/d14571a546b55f58e51e392c04cf098168d6fe2d/manifests/uno.ui-preview.manifest.json' + +steps: + + # Required until .NET 6 installs properly on Windows using UseDotnet + # using preview builds + - powershell: | + $ProgressPreference = 'SilentlyContinue' + Invoke-WebRequest -Uri "https://dot.net/v1/dotnet-install.ps1" -OutFile dotnet-install.ps1 + & .\dotnet-install.ps1 -Version ${{ parameters.DotNetVersion }} -InstallDir "$env:ProgramFiles\dotnet\" -Verbose + & dotnet --list-sdks + displayName: Install .NET ${{ parameters.DotNetVersion }} + errorActionPreference: stop + retryCountOnTaskFailure: 3 + condition: eq(variables['Agent.OS'], 'Windows_NT') + #- task: UseDotNet@2 + # displayName: 'Use .NET Core SDK ${{ parameters.DotNetVersion }}' + # retryCountOnTaskFailure: 3 + # inputs: + # packageType: sdk + # version: ${{ parameters.DotNetVersion }} + # includePreviewVersions: true + + - powershell: | + & dotnet tool update --global uno.check --version ${{ parameters.UnoCheck_Version }} --add-source https://api.nuget.org/v3/index.json + & uno-check -v --ci --non-interactive --fix --skip xcode --skip gtk3 --skip vswin --skip androidemulator --skip androidsdk --skip vsmac --manifest ${{ parameters.UnoCheck_Manifest }} + displayName: Install .NET Workloads + errorActionPreference: continue + ignoreLASTEXITCODE: true + retryCountOnTaskFailure: 3 + condition: eq(variables['Agent.OS'], 'Windows_NT') + + # This SDK version is needed as long as `uap10.0` will be supported in Uno.Core + - powershell: .\build\Install-WindowsSdkISO.ps1 18362 + condition: eq(variables['Agent.OS'], 'Windows_NT') + displayName: Install Windows SDK 18362 diff --git a/build/jdk-setup.yml b/build/jdk-setup.yml new file mode 100644 index 000000000..c27b2bde2 --- /dev/null +++ b/build/jdk-setup.yml @@ -0,0 +1,6 @@ +steps: + + - pwsh: | + echo "##vso[task.setvariable variable=JAVA_HOME]$(JAVA_HOME_11_X64)" + echo "##vso[task.setvariable variable=JavaSdkDirectory]$(JAVA_HOME_11_X64)" + displayName: Select JDK 11 \ No newline at end of file diff --git a/build/stage-build-wasm.yml b/build/stage-build-wasm.yml index 7cd3b3428..8428c32d0 100644 --- a/build/stage-build-wasm.yml +++ b/build/stage-build-wasm.yml @@ -29,7 +29,7 @@ packageType: sdk version: 6.0.200 -- bash: dotnet msbuild -r -p:Configuration=Release -p:ApplicationVersion=$(USEGITVERSION.GITVERSION.MAJORMINORPATCH) src/samples/Uno.Themes.Samples/Uno.Themes.Samples.Wasm/Uno.Themes.Samples.Wasm.csproj +- bash: dotnet msbuild -r -p:Configuration=Release -p:DisableNet6MobileTargets=true -p:ApplicationVersion=$(USEGITVERSION.GITVERSION.MAJORMINORPATCH) src/samples/Uno.Themes.Samples/Uno.Themes.Samples.Wasm/Uno.Themes.Samples.Wasm.csproj - task: PublishBuildArtifacts@1 inputs: diff --git a/build/stage-build.yml b/build/stage-build.yml index 4b1f39ad2..9021580d6 100644 --- a/build/stage-build.yml +++ b/build/stage-build.yml @@ -31,6 +31,10 @@ nugetUpdaterVersion: 2.1.1 packageAuthor: nventive +- template: dotnet-install-windows.yml +- template: dotnet-install-macos.yml +- template: jdk-setup.yml + - bash: | npm install -g conventional-changelog-cli@2.2.2 conventional-changelog -p angular -u -r 1 -o "build/CHANGELOG.md" @@ -44,7 +48,7 @@ configuration: Release platform: $(ApplicationPlatform) maximumCpuCount: true - msbuildArguments: /ds /m /r /p:PackageVersion=$(SemVer) /p:ApplicationVersion=$(MajorMinorPatch) /p:RestoreConfigFile=$(Build.SourcesDirectory)\nuget.config /p:PackageReleaseNotesFile=$(Build.SourcesDirectory)/build/CHANGELOG.md /bl:$(build.artifactstagingdirectory)/build-$(ApplicationPlatform).binlog + msbuildArguments: /ds /m /r /p:PackageVersion=$(SemVer) /p:ApplicationPlatform=$(ApplicationPlatform) /p:ApplicationVersion=$(MajorMinorPatch) /p:RestoreConfigFile=$(Build.SourcesDirectory)\nuget.config /p:PackageReleaseNotesFile=$(Build.SourcesDirectory)/build/CHANGELOG.md /bl:$(build.artifactstagingdirectory)/build-$(ApplicationPlatform).binlog - task: PublishBuildArtifacts@1 condition: always() diff --git a/global.json b/global.json new file mode 100644 index 000000000..ec28065e1 --- /dev/null +++ b/global.json @@ -0,0 +1,5 @@ +{ + "sdk": { + "allowPrerelease": true + } +} \ No newline at end of file diff --git a/src/library/Uno.Cupertino/Generated/mergedpages.xaml b/src/library/Uno.Cupertino/Generated/mergedpages.xaml index fb0728ec5..d8a3ce869 100644 --- a/src/library/Uno.Cupertino/Generated/mergedpages.xaml +++ b/src/library/Uno.Cupertino/Generated/mergedpages.xaml @@ -81,11 +81,7 @@ - - - - - + @@ -149,11 +145,7 @@ - - - - - + @@ -839,11 +831,7 @@ - - - - - + @@ -1555,11 +1543,7 @@ - - - - - + diff --git a/src/library/Uno.Cupertino/Uno.Cupertino.csproj b/src/library/Uno.Cupertino/Uno.Cupertino.csproj index 31f9ce342..563970bd1 100644 --- a/src/library/Uno.Cupertino/Uno.Cupertino.csproj +++ b/src/library/Uno.Cupertino/Uno.Cupertino.csproj @@ -1,7 +1,8 @@  - netstandard2.0;xamarinios10;xamarinmac20;monoandroid11.0 + netstandard2.0;xamarinios10;monoandroid11.0;xamarinmac20 + $(TargetFrameworks);net6.0-ios;net6.0-macos;net6.0-android;net6.0-maccatalyst .pdb true portable @@ -19,7 +20,7 @@ - + @@ -44,9 +45,9 @@ - + - + @@ -86,14 +87,14 @@ - + - + diff --git a/src/library/Uno.Material/Generated/mergedpages.xaml b/src/library/Uno.Material/Generated/mergedpages.xaml index 3c1c8a17d..f67a71785 100644 --- a/src/library/Uno.Material/Generated/mergedpages.xaml +++ b/src/library/Uno.Material/Generated/mergedpages.xaml @@ -283,11 +283,7 @@ - - - - - + @@ -376,11 +372,7 @@ - - - - - + @@ -471,11 +463,7 @@ - - - - - + @@ -1350,11 +1338,7 @@ - - - - - + @@ -1943,11 +1927,7 @@ - - - - - + @@ -2029,11 +2009,7 @@ - - - - - + @@ -3411,7 +3387,9 @@ - + + @@ -3419,7 +3397,9 @@ - + + @@ -3460,7 +3440,9 @@ - + + @@ -3468,7 +3450,9 @@ - + + @@ -3701,7 +3685,9 @@ - + + @@ -3710,7 +3696,9 @@ - + + @@ -3727,7 +3715,9 @@ - + + @@ -3736,7 +3726,9 @@ - + + @@ -3948,7 +3940,9 @@ - + + @@ -3956,7 +3950,9 @@ - + + @@ -3971,7 +3967,9 @@ - + + @@ -3979,7 +3977,9 @@ - + + @@ -4036,7 +4036,9 @@ - + + @@ -4045,7 +4047,9 @@ - + + @@ -4062,7 +4066,9 @@ - + + @@ -4071,7 +4077,9 @@ - + + @@ -6101,11 +6109,7 @@ - - - - - + @@ -7003,11 +7007,7 @@ - - - - - + @@ -7127,11 +7127,12 @@ - + + - + @@ -7148,11 +7149,11 @@ - + - + @@ -7297,7 +7298,7 @@ - + @@ -7348,12 +7349,7 @@ - - - - - - + diff --git a/src/library/Uno.Material/Uno.Material.csproj b/src/library/Uno.Material/Uno.Material.csproj index cd7c90887..dc49976b5 100644 --- a/src/library/Uno.Material/Uno.Material.csproj +++ b/src/library/Uno.Material/Uno.Material.csproj @@ -2,6 +2,7 @@ netstandard2.0;xamarinios10;monoandroid11.0;xamarinmac20 + $(TargetFrameworks);net6.0-ios;net6.0-macos;net6.0-android;net6.0-maccatalyst .pdb true portable @@ -21,7 +22,7 @@ - + @@ -55,9 +56,9 @@ - + - + @@ -99,14 +100,14 @@ - + - + diff --git a/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.Droid/Uno.Themes.Samples.Droid.csproj b/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.Droid/Uno.Themes.Samples.Droid.csproj index 2955ad6ca..efdbb9c1f 100644 --- a/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.Droid/Uno.Themes.Samples.Droid.csproj +++ b/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.Droid/Uno.Themes.Samples.Droid.csproj @@ -88,14 +88,14 @@ 1.0.59 - - + + - + diff --git a/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.Skia.Gtk/Uno.Themes.Samples.Skia.Gtk.csproj b/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.Skia.Gtk/Uno.Themes.Samples.Skia.Gtk.csproj index dd752d943..1f055108b 100644 --- a/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.Skia.Gtk/Uno.Themes.Samples.Skia.Gtk.csproj +++ b/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.Skia.Gtk/Uno.Themes.Samples.Skia.Gtk.csproj @@ -41,9 +41,9 @@ - - - + + + diff --git a/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.UWP/Uno.Themes.Samples.UWP.csproj b/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.UWP/Uno.Themes.Samples.UWP.csproj index 33aea7d8f..9dbd6d4bc 100644 --- a/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.UWP/Uno.Themes.Samples.UWP.csproj +++ b/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.UWP/Uno.Themes.Samples.UWP.csproj @@ -37,9 +37,9 @@ 1.0.59 - 4.0.13 + 4.2.0-dev.515 - + diff --git a/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.Wasm/Uno.Themes.Samples.Wasm.csproj b/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.Wasm/Uno.Themes.Samples.Wasm.csproj index d7f396019..7b21ff946 100644 --- a/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.Wasm/Uno.Themes.Samples.Wasm.csproj +++ b/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.Wasm/Uno.Themes.Samples.Wasm.csproj @@ -53,9 +53,9 @@ - - - + + + diff --git a/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.iOS/Uno.Themes.Samples.iOS.csproj b/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.iOS/Uno.Themes.Samples.iOS.csproj index 0665595cc..5e3b2c898 100644 --- a/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.iOS/Uno.Themes.Samples.iOS.csproj +++ b/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.iOS/Uno.Themes.Samples.iOS.csproj @@ -190,11 +190,11 @@ 1.0.59 - - + + - + diff --git a/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.macOS/Uno.Themes.Samples.macOS.csproj b/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.macOS/Uno.Themes.Samples.macOS.csproj index 609c2dadc..d11bdf290 100644 --- a/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.macOS/Uno.Themes.Samples.macOS.csproj +++ b/src/samples/Uno.Themes.Samples/Uno.Themes.Samples.macOS/Uno.Themes.Samples.macOS.csproj @@ -84,17 +84,17 @@ runtime; build; native; contentfiles; analyzers; buildtransitive all - + - + 1.0.59 1.0.59 - +