-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update SkiaSharp and add pdb files #2195
Conversation
Also include the .pdb files in the packages
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some failures are happening:
D:\agent\1\s\src\SingleProject\Resizetizer\src\Resizetizer.csproj : error NU1102: Unable to find package SkiaSharp.HarfBuzz with version (>= 2.88.0-preview.127) [D:\agent\1\s\Microsoft.Maui.BuildTasks-net6.slnf]
D:\agent\1\s\src\SingleProject\Resizetizer\src\Resizetizer.csproj : error NU1102: - Found 53 version(s) in dotnet-public [ Nearest version: 2.88.0-preview.120 ] [D:\agent\1\s\Microsoft.Maui.BuildTasks-net6.slnf]
D:\agent\1\s\src\SingleProject\Resizetizer\src\Resizetizer.csproj : error NU1102: - Found 0 version(s) in xamarin [D:\agent\1\s\Microsoft.Maui.BuildTasks-net6.slnf]
D:\agent\1\s\src\SingleProject\Resizetizer\src\Resizetizer.csproj : error NU1102: - Found 0 version(s) in dotnet-eng [D:\agent\1\s\Microsoft.Maui.BuildTasks-net6.slnf]
D:\agent\1\s\src\SingleProject\Resizetizer\src\Resizetizer.csproj : error NU1102: - Found 0 version(s) in dotnet6 [D:\agent\1\s\Microsoft.Maui.BuildTasks-net6.slnf]
D:\agent\1\s\src\SingleProject\Resizetizer\src\Resizetizer.csproj : error NU1101: Unable to find package SkiaSharp.NativeAssets.Win32. No packages exist with this id in source(s): dotnet-eng, dotnet-public, dotnet6, xamarin [D:\agent\1\s\Microsoft.Maui.BuildTasks-net6.slnf]
D:\agent\1\s\src\SingleProject\Resizetizer\src\Resizetizer.csproj : error NU1101: Unable to find package SkiaSharp.NativeAssets.macOS. No packages exist with this id in source(s): dotnet-eng, dotnet-public, dotnet6, xamarin [D:\agent\1\s\Microsoft.Maui.BuildTasks-net6.slnf]
Ah, it is not in the devops feed yet... We gotta wait a few hours? 2 maybe? Let me check and retry... |
/azp run |
Azure Pipelines successfully started running 2 pipeline(s). |
While we wait for the new packages to reach the feed, I notice something uncool... Some libraries depended on SkiaSharp with assembly version 2.80 and the new ones have SkiaSharp 2.88. The SkiaSharp assemblies are strong named. I don't know how to set up the binding redirects for this. And this issue makes me cry: dotnet/msbuild#1309 |
/azp run |
Azure Pipelines successfully started running 2 pipeline(s). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This fails with:
D:\agent\1\s\bin\dotnet\packs\Microsoft.Maui.Resizetizer.Sdk\6.0.100-rc.1.6394\targets\Microsoft.Maui.Resizetizer.targets(450,9): error MAUI0000: System.IO.FileNotFoundException: Could not load file or assembly 'SkiaSharp, Version=2.80.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies. The system cannot find the file specified. [D:\agent\1\s\src\Controls\samples\Controls.Sample.SingleProject\Maui.Controls.Sample.SingleProject.csproj]
D:\agent\1\s\bin\dotnet\packs\Microsoft.Maui.Resizetizer.Sdk\6.0.100-rc.1.6394\targets\Microsoft.Maui.Resizetizer.targets(450,9): error MAUI0000: File name: 'SkiaSharp, Version=2.80.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' [D:\agent\1\s\src\Controls\samples\Controls.Sample.SingleProject\Maui.Controls.Sample.SingleProject.csproj]
D:\agent\1\s\bin\dotnet\packs\Microsoft.Maui.Resizetizer.Sdk\6.0.100-rc.1.6394\targets\Microsoft.Maui.Resizetizer.targets(450,9): error MAUI0000: at Microsoft.Maui.Resizetizer.SkiaSharpSvgTools..ctor(String filename, Nullable`1 baseSize, Nullable`1 tintColor, ILogger logger) [D:\agent\1\s\src\Controls\samples\Controls.Sample.SingleProject\Maui.Controls.Sample.SingleProject.csproj]
D:\agent\1\s\bin\dotnet\packs\Microsoft.Maui.Resizetizer.Sdk\6.0.100-rc.1.6394\targets\Microsoft.Maui.Resizetizer.targets(450,9): error MAUI0000: at Microsoft.Maui.Resizetizer.SkiaSharpTools.Create(Boolean isVector, String filename, Nullable`1 baseSize, Nullable`1 tintColor, ILogger logger) [D:\agent\1\s\src\Controls\samples\Controls.Sample.SingleProject\Maui.Controls.Sample.SingleProject.csproj]
D:\agent\1\s\bin\dotnet\packs\Microsoft.Maui.Resizetizer.Sdk\6.0.100-rc.1.6394\targets\Microsoft.Maui.Resizetizer.targets(450,9): error MAUI0000: at Microsoft.Maui.Resizetizer.Resizer.Resize(DpiPath dpi, String inputsFile) [D:\agent\1\s\src\Controls\samples\Controls.Sample.SingleProject\Maui.Controls.Sample.SingleProject.csproj]
D:\agent\1\s\bin\dotnet\packs\Microsoft.Maui.Resizetizer.Sdk\6.0.100-rc.1.6394\targets\Microsoft.Maui.Resizetizer.targets(450,9): error MAUI0000: at Microsoft.Maui.Resizetizer.ResizetizeImages.ProcessImageResize(ResizeImageInfo img, DpiPath[] dpis, ConcurrentBag`1 resizedImages) [D:\agent\1\s\src\Controls\samples\Controls.Sample.SingleProject\Maui.Controls.Sample.SingleProject.csproj]
D:\agent\1\s\bin\dotnet\packs\Microsoft.Maui.Resizetizer.Sdk\6.0.100-rc.1.6394\targets\Microsoft.Maui.Resizetizer.targets(450,9): error MAUI0000: at Microsoft.Maui.Resizetizer.ResizetizeImages.<>c__DisplayClass26_0.<ExecuteAsync>b__0(ResizeImageInfo img) [D:\agent\1\s\src\Controls\samples\Controls.Sample.SingleProject\Maui.Controls.Sample.SingleProject.csproj]
D:\agent\1\s\bin\dotnet\packs\Microsoft.Maui.Resizetizer.Sdk\6.0.100-rc.1.6394\targets\Microsoft.Maui.Resizetizer.targets(450,9): error MAUI0000: at Microsoft.Maui.Resizetizer.AsyncTaskExtensions.<>c__DisplayClass0_0`1.<ParallelForEach>b__0(TSource s) [D:\agent\1\s\src\Controls\samples\Controls.Sample.SingleProject\Maui.Controls.Sample.SingleProject.csproj]
D:\agent\1\s\bin\dotnet\packs\Microsoft.Maui.Resizetizer.Sdk\6.0.100-rc.1.6394\targets\Microsoft.Maui.Resizetizer.targets(450,9): error MAUI0000: [D:\agent\1\s\src\Controls\samples\Controls.Sample.SingleProject\Maui.Controls.Sample.SingleProject.csproj]
D:\agent\1\s\bin\dotnet\packs\Microsoft.Maui.Resizetizer.Sdk\6.0.100-rc.1.6394\targets\Microsoft.Maui.Resizetizer.targets(450,9): error MAUI0000: WRN: Assembly binding logging is turned OFF. [D:\agent\1\s\src\Controls\samples\Controls.Sample.SingleProject\Maui.Controls.Sample.SingleProject.csproj]
D:\agent\1\s\bin\dotnet\packs\Microsoft.Maui.Resizetizer.Sdk\6.0.100-rc.1.6394\targets\Microsoft.Maui.Resizetizer.targets(450,9): error MAUI0000: To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. [D:\agent\1\s\src\Controls\samples\Controls.Sample.SingleProject\Maui.Controls.Sample.SingleProject.csproj]
D:\agent\1\s\bin\dotnet\packs\Microsoft.Maui.Resizetizer.Sdk\6.0.100-rc.1.6394\targets\Microsoft.Maui.Resizetizer.targets(450,9): error MAUI0000: Note: There is some performance penalty associated with assembly bind failure logging. [D:\agent\1\s\src\Controls\samples\Controls.Sample.SingleProject\Maui.Controls.Sample.SingleProject.csproj]
D:\agent\1\s\bin\dotnet\packs\Microsoft.Maui.Resizetizer.Sdk\6.0.100-rc.1.6394\targets\Microsoft.Maui.Resizetizer.targets(450,9): error MAUI0000: To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog]. [D:\agent\1\s\src\Controls\samples\Controls.Sample.SingleProject\Maui.Controls.Sample.SingleProject.csproj]
D:\agent\1\s\bin\dotnet\packs\Microsoft.Maui.Resizetizer.Sdk\6.0.100-rc.1.6394\targets\Microsoft.Maui.Resizetizer.targets(450,9): error MAUI0000: [D:\agent\1\s\src\Controls\samples\Controls.Sample.SingleProject\Maui.Controls.Sample.SingleProject.csproj]
There seems to only be two options here:
- Is there a library that depends on SkiaSharp we can remove here? And write our own equivalent?
- "IL merge" some assemblies to work around the binding conflict. This might not work either, depending on how many APIs changed in the newer SkiaSharp.
We will have to use ILMerge, because we can't write our own since the bit we use is the SVG stuff, and that is a big puppy. I believe the APIs we use are available in the new SkiaSharp, so it might be fine to just edit the dlls of the SVG library to use the new skia version. I have done worse :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe try again, when they get this on the feed:
D:\agent\1\s\src\Workload\Microsoft.Maui.Resizetizer.Sdk\Microsoft.Maui.Resizetizer.Sdk.csproj : error NU1101: Unable to find package Mono.ApiTools.MSBuildTasks. No packages exist with this id in source(s): dotnet-eng, dotnet-public, dotnet6, xamarin [D:\agent\1\s\Microsoft.Maui.Packages-net6.slnf]
D:\agent\1\s\src\SingleProject\Resizetizer\src\Resizetizer.csproj : error NU1101: Unable to find package Mono.ApiTools.MSBuildTasks. No packages exist with this id in source(s): dotnet-eng, dotnet-public, dotnet6, xamarin [D:\agent\1\s\Microsoft.Maui.Packages-net6.slnf]
Another option might be to make a Microsoft.Maui.BootstrapTasks.csproj
and just put the code for these tasks in dotnet/maui.
/azp run |
Azure Pipelines successfully started running 2 pipeline(s). |
Description of Change
Adds the .pdb files to the build tasks in case of exceptions. This also updates SkiaSharp to the latest version.
Additions made
PR Checklist
Does this PR touch anything that might affect accessibility?
If any of the above checkboxes apply to your PR, then the PR will need to provide testing to demonstrate that accessibility still works.