La actualización de NuGet System.Drawing.Common a 6.0.0 provoca el siguiente error:
CA1416 Se puede acceder a este sitio de llamadas en todas las plataformas. 'Image.FromStream(Stream)' solo se admite en: 'windows'.
https://www.nuget.org/packages/System.Drawing.Common/
El código afectado es el siguiente:
var drawingImage = System.Drawing.Image.FromStream(memstr); Usamos la biblioteca para acceder al método GetThumbnailImage .
public byte[] GetThumbnailBytes(byte[] imageBytes) { var thumbnailBytes = Array.Empty<byte>(); using (MemoryStream memstr = new MemoryStream(imageBytes)) { var drawingImage = System.Drawing.Image.FromStream(memstr); var thumbnailSize = GetThumbnailSize(drawingImage); var thumbnail = drawingImage.GetThumbnailImage(thumbnailSize.Width, thumbnailSize.Height, null, IntPtr.Zero); var ms = thumbnail.ToStream(drawingImage.RawFormat); thumbnailBytes = ms.ReadFully(); } return thumbnailBytes; } Solo alojamos la aplicación en Azure, por lo que apuntar a Windows está bien, pero también es aceptable reemplazar GetThumbnailImage .
Este ha sido un tema abierto durante mucho tiempo.
Lo solucioné editando mi información de ensamblaje compartida (no generada automáticamente) con
#if NET6_0 [assembly: System.Runtime.Versioning.SupportedOSPlatform("windows7.0")] #endif