Repository metrics
- Stars
- (5,644 個のスター)
- PR merge metrics
- (30d に merged PR はありません)
説明
Description
There seems to be some kind of conflict with SkiaSharp library that Xamarin Forms and FFImageLoading uses. This wasn't an issue before.
Steps to Reproduce
- Add Svg File to project
<?xml version="1.0" encoding="UTF-8"?>
<svg width="201px" height="2px" viewBox="0 0 201 2" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 54 (76480) - https://sketchapp.com -->
<title>entry field</title>
<desc>Created with Sketch.</desc>
<g id="Intro/Onboarding" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="square">
<g id="1.1-Zip-Code-Entry" transform="translate(-87.000000, -358.000000)" fill-rule="nonzero" stroke="#231E51">
<g id="Entry-Field" transform="translate(88.000000, 325.000000)">
<g id="entry-field" transform="translate(0.127341, 33.000000)">
<path d="M2.27373675e-13,1 L33.8726592,1" id="Line"></path>
<path d="M41.25,1 L75.1226592,1" id="Line"></path>
<path d="M82.5,1 L116.372659,1" id="Line"></path>
<path d="M123.75,1 L157.622659,1" id="Line"></path>
<path d="M165,1 L198.872659,1" id="Line"></path>
</g>
</g>
</g>
</g>
</svg>
- Set new file as embedded resource
- Try to reference the svg file.
<ffs:SvgCachedImage Source="resource://App28.bg_field_bottom_border.svg" Aspect="AspectFill" HeightRequest="100" WidthRequest="100" />
Expected Behavior
FFImageLoading Svg Images renders on the page.
Actual Behavior
None of the FFImageLoading Svg Images render at all.
From the Build Log 3>Found conflicts between different versions of "SkiaSharp" that could not be resolved. These reference conflicts are listed in the build log when log verbosity is set to detailed.
From the Debug Log
Image loading failed: resource://App28.Resources.bg_field_bottom_border.svg?assembly=App28,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=null;(size=0x0,dip=True,type=SvgDataResolver)
System.MissingMethodException: Method not found: void SkiaSharp.SKPath.AddRoundRect(SkiaSharp.SKRect,single,single,SkiaSharp.SKPathDirection)
at FFImageLoading.Svg.Platform.SKSvg.ReadElement (System.Xml.Linq.XElement e, SkiaSharp.SKCanvas canvas, SkiaSharp.SKPaint stroke, SkiaSharp.SKPaint fill) [0x00440] in C:\projects\ffimageloading\source\FFImageLoading.Svg.Shared\SkSvg.cs:280
at FFImageLoading.Svg.Platform.SKSvg.ReadElement (System.Xml.Linq.XElement e, SkiaSharp.SKCanvas canvas, SkiaSharp.SKPaint stroke, SkiaSharp.SKPaint fill) [0x006c6] in C:\projects\ffimageloading\source\FFImageLoading.Svg.Shared\SkSvg.cs:356
at FFImageLoading.Svg.Platform.SKSvg.ReadElement (System.Xml.Linq.XElement e, SkiaSharp.SKCanvas canvas, SkiaSharp.SKPaint stroke, SkiaSharp.SKPaint fill) [0x006c6] in C:\projects\ffimagelo
ading\source\FFImageLoading.Svg.Shared\SkSvg.cs:356
04-11 19:11:35.706 I/mono-stdout(29706): Image loading failed: resource://App28.Resources.bg_field_bottom_border.svg?assembly=App28,%20Version=1.0.0.0,%20Culture=neutral,%20PublicKeyToken=null;(size=0x0,dip=True,type=SvgDataResolver)
04-11 19:11:35.706 I/mono-stdout(29706): System.MissingMethodException: Method not found: void SkiaSharp.SKPath.AddRoundRect(SkiaSharp.SKRect,single,single,SkiaSharp.SKPathDirection) at FFImageLoading.Svg.Platform.SKSvg.ReadElement (System.Xml.Linq.XElement e, SkiaSharp.SKCanvas canvas, SkiaSharp.SKPaint stroke, SkiaSharp.SKPaint fill) [0x006c6] in C:\projects\ffimageloading\source\FFImageLoading.Svg.Shared\SkSvg.cs:356
at FFImageLoading.Svg.Platform.SKSvg.ReadElement (System.Xml.Linq.XElement e, SkiaSharp.SKCanvas canvas, SkiaSharp.SKPaint stroke, SkiaSharp.SKPaint fill) [0x006c6] in C:\projects\ffimageloading\source\FFImageLoading.Svg.Shared\SkSvg.cs:356
at FFImageLoading.Svg.Platform.SKSvg.LoadElements (System.Collections.Generic.IEnumerable`1[T] elements, SkiaSharp.SKCanvas canvas, SkiaSharp.SKPaint stroke, SkiaSharp.SKPaint fill) [0x00010] in C:\projects\ffimageloading\source\FFImageLoading.Svg.Shared\SkSvg.cs:214
at FFImageLoading.Svg.Platform.SKSvg.Load (System.Xml.Linq.XDocument xdoc) [0x003f9] in C:\projects\ffimageloading\source\FFImageLoading.Svg.Shared\SkSvg.cs:202
at FFImageLoading.Svg.Platform.SKSvg.Load (System.Xml.XmlReader reader) [0x00000] in C:\projects\ff
04-11 19:11:35.706 I/mono-stdout(29706): at FFImageLoading.Svg.Platform.SKSvg.ReadElement (System.Xml.Linq.XElement e, SkiaSharp.SKCanvas canvas, SkiaSharp.SKPaint stroke, SkiaSharp.SKPaint fill) [0x00440] in C:\projects\ffimageloading\source\FFImageLoading.Svg.Shared\SkSvg.cs:280 imageloading\source\FFImageLoading.Svg.Shared\SkSvg.cs:96
at FFImageLoading.Svg.Platform.SKSvg.Load (System.IO.Stream stream) [0x00012] in C:\projects\ffimageloading\source\FFImageLoading.Svg.Shared\SkSvg.cs:90
at FFImageLoading.Svg.Platform.SvgDataResolver.Resolve (System.String identifier, FFImageLoading.Work.TaskParameter parameters, System.Threading.CancellationToken token) [0x00198] in C:\projects\ffimageloading\source\FFImageLoading.Svg.Shared\SvgDataResolver.cs:102
at FFImageLoading.DataResolvers.WrappedDataResolver.Resolve (System.String identifier, FFImageLoading.Work.TaskParameter parameters, System.Threading.CancellationToken token) [0x00044] in C:\projects\ffimageloading\source\FFImageLoading.Common\DataResolvers\WrappedDataResolver.cs:22
at FFImageLoading.Work.ImageLoaderTask`3[TDecoderContainer,TImageContainer,TImageView].RunAsync () [0x00300] in C:\projects\ffimageloading\source\FFImageLoading.Common\Work\ImageLoaderTask.cs:553
04-11 19:11:35.707 I/mono-stdout(29706): at FFImageLoading.Svg.Platform.SKSvg.ReadElement (System.Xml.Linq.XElement e, SkiaSharp.SKCanvas canvas, SkiaSharp.SKPaint stroke, SkiaSharp.SKPaint fill) [0x006c6] in C:\projects\ffimageloading\source\FFImageLoading.Svg.Shared\SkSvg.cs:356
04-11 19:11:35.707 I/chatty (29706): uid=10090(com.companyname.App28) Thread Pool Wor identical 2 lines
04-11 19:11:35.708 I/mono-stdout(29706): at FFImageLoading.Svg.Platform.SKSvg.ReadElement (System.Xml.Linq.XElement e, SkiaSharp.SKCanvas canvas, SkiaSharp.SKPaint stroke, SkiaSharp.SKPaint fill) [0x006c6] in C:\projects\ffimageloading\source\FFImageLoading.Svg.Shared\SkSvg.cs:356
04-11 19:11:35.708 I/mono-stdout(29706): at FFImageLoading.Svg.Platform.SKSvg.LoadElements (System.Collections.Generic.IEnumerable`1[T] elements, SkiaSharp.SKCanvas canvas, SkiaSharp.SKPaint stroke, SkiaSharp.SKPaint fill) [0x00010] in C:\projects\ffimageloading\source\FFImageLoading.Svg.Shared\SkSvg.cs:214
04-11 19:11:35.708 I/mono-stdout(29706): at FFImageLoading.Svg.Platform.SKSvg.Load (System.Xml.Linq.XDocument xdoc) [0x003f9] in C:\projects\ffimageloading\source\FFImageLoading.Svg.Shared\SkSvg.cs:202
04-11 19:11:35.711 I/mono-stdout(29706): at FFImageLoading.Svg.Platform.SKSvg.Load (System.Xml.XmlReader reader) [0x00000] in C:\projects\ffimageloading\source\FFImageLoading.Svg.Shared\SkSvg.cs:96
04-11 19:11:35.711 I/mono-stdout(29706): at FFImageLoading.Svg.Platform.SKSvg.Load (System.IO.Stream stream) [0x00012] in C:\projects\ffimageloading\source\FFImageLoading.Svg.Shared\SkSvg.cs:90
04-11 19:11:35.712 I/mono-stdout(29706): at FFImageLoading.Svg.Platform.SvgDataResolver.Resolve (System.String identifier, FFImageLoading.Work.TaskParameter parameters, System.Threading.CancellationToken token) [0x00198] in C:\projects\ffimageloading\source\FFImageLoading.Svg.Shared\SvgDataResolver.cs:102
04-11 19:11:35.713 I/mono-stdout(29706): at FFImageLoading.DataResolvers.WrappedDataResolver.Resolve (System.String identifier, FFImageLoading.Work.TaskParameter parameters, System.Threading.CancellationToken token) [0x00044] in C:\projects\ffimageloading\source\FFImageLoading.Common\DataResolvers\WrappedDataResolver.cs:22
04-11 19:11:35.714 I/mono-stdout(29706): at FFImageLoading.Work.ImageLoaderTask`3[TDecoderContainer,TImageContainer,TImageView].RunAsync () [0x00300] in C:\projects\ffimageloading\source\FFImageLoading.Common\Work\ImageLoaderTask.cs:553
Workaround I believe I have found a workaround. It seems to work better when I install the SkiaSharp library.
Basic Information
-
Version with issue: 3.6.0.293080
-
Last known good version:
-
IDE: Visual Studio 2019 and Visual Studio for Mac 2019
-
Platform Target Frameworks:
- iOS: 12.1
- Android: 9.0 Pie
- UWP: N/A
-
Android Support Library Version: 28.0.0.1
-
Nuget Packages: Xamarin.Forms 3.6.0.293080 FormsToolkit 2.0.1 Humanizer 2.6.2 Newtonsoft.Json 12.0.1 NodaTime 2.4.5 Plugin.Permissions 3.0.0.12 Refractored.MvvmHelpers 1.3.0 Refractored.XamForms.PullToRefresh 2.4.1 Xamarin.FFImageLoading 2.4.5.880-pre Xamarin.FFImageLoading.Forms 2.4.5.880-pre Xamarin.FFImageLoading.Svg 2.4.5.880-pre Xamarin.FFImageLoading.Svg.Forms 2.4.5.880-pre Xamarin.FFImageLoading.Transformations 2.4.5.880-pre Xamarin.Essentials 1.1.0 Xamarin.HotReload 1.2.4
-
Affected Devices: All