ImageSharp не может загрузить изображение (MethodNotFound)
Я перенес свои ссылки ImageSharp на версию 1.0.0-dev000692. Теперь я не могу загрузить изображение больше. Я получаю исключение, которое вы можете увидеть ниже.
Звоните:
byte[] data = GetImage();
var image = Image.Load(data);
Функция вызывается в приложении ASP.Net Core (2.0)
Исключение:
Method not found: '!0 System.ReadOnlySpan`1.get_Item(Int32)'.
at SixLabors.ImageSharp.Formats.Bmp.BmpImageFormatDetector.IsSupportedFileFormat(ReadOnlySpan`1 header)
at SixLabors.ImageSharp.Formats.Bmp.BmpImageFormatDetector.DetectFormat(ReadOnlySpan`1 header)
at SixLabors.ImageSharp.Image.<>c__DisplayClass0_0.<InternalDetectFormat>b__0(IImageFormatDetector x)
at System.Linq.Enumerable.SelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.TryGetLast[TSource](IEnumerable`1 source, Func`2 predicate, Boolean& found)
at SixLabors.ImageSharp.Image.InternalDetectFormat(Stream stream, Configuration config)
at SixLabors.ImageSharp.Image.Decode[TPixel](Stream stream, Configuration config)
at SixLabors.ImageSharp.Image.WithSeekableStream[T](Stream stream, Func`2 action)
at SixLabors.ImageSharp.Image.Load[TPixel](Configuration config, Stream stream, IImageFormat& format)
at SixLabors.ImageSharp.Image.Load[TPixel](Configuration config, Byte[] data)
at work4all.Server.Api.Core.Controllers.FileController.ResizeBenutzerBild(Byte[] data, Int32 maxHeight, Int32 maxWidth, String filename) in D:\DEV\VSTS-work4all\work4all Server\work4all.Server.Api.Core\work4all.Server.Api.Core\Controllers\FileController.cs:line 211
2 ответа
Это не проблема с ImageSharp, скорее проблема с текущим предварительным просмотром CoreClr.
https://github.com/dotnet/coreclr/pull/14727
Вы должны использовать предварительный просмотр.Net Core 2.1, возврат к версии 2.0 покажет исправление.
Обновление
Начиная с бета4 решение будет работать на.NET Core 2.1
Я тоже столкнулся с этой проблемой. Вы пробовали обновить до SixLabors.ImageSharp.Drawing beta 4? Это может потребовать небольшой работы по рефакторингу вашей логики манипулирования изображениями, но мне удалось исправить мою проблему, даже если я тоже работал на Core 2.