Soporte .NET 6

Introducción

A partir de Aspose.Slides 23.2, se implementó el soporte para .NET6. La peculiaridad de este soporte es que .NET6 ya no admite System.Drawing.Common para Linux (cambio importante) y Slides implementa este subsistema gráfico por sí mismo como un componente C++.

Aspose.Slides para .NET ahora funciona sin dependencias en GDI/libgdiplus en:

  • Windows
  • Linux

El soporte para MacOS está en progreso.

Uso de Slides para .NET 6 en AWS y Azure

.NET6 es la versión preferida para Aspose.Slides usado en la nube (AWS, Azure u otras soluciones en la nube).

Anteriormente, cuando Aspose.Slides se utilizaba en un host Linux, era necesario instalar dependencias adicionales (libgdiplus) y esto a menudo resultaba inconveniente o poco práctico (por ejemplo, al usar AWS Lambda). Con Slides para .NET6, esas dependencias ya no son necesarias, por lo que la implementación es mucho más fácil.

Otra consideración son los problemas que surgían cuando Aspose.Slides se usaba en una solución en la nube con un host Windows. Por ejemplo, Azure Functions tienen limitaciones para el proceso y provocan problemas durante una operación de exportación a PDF (ver esto). El uso de Aspose.Slides para .NET6 resuelve este problema.

Uso del paquete System.Drawing.Common y clases de Slides para .NET 6 (Error CS0433: El tipo existe tanto en Slides como en System.Drawing.Common)

A veces, tanto System.Drawing como las dependencias de Slides para .NET6 deben usarse en un proyecto (por ejemplo, cuando el proyecto .NET6 depende de otros paquetes que a su vez dependen de System.Drawing). Esto puede generar errores de conflicto como los siguientes:

  • CS0433: The type ‘Image’ exists in both ‘Aspose.Slides, Version=23.2.0.0, Culture=neutral, PublicKeyToken=716fcc553a201e56’ and ‘System.Drawing.Common, Version=6.0.0.0
  • CS0433: The type ‘Graphics’ exists in both ‘Aspose.Slides, Version=23.2.0.0, Culture=neutral, PublicKeyToken=716fcc553a201e56’ and ‘System.Drawing.Common, Version=6.0.0.0

En este caso, puede usar extern alias para Aspose.Slides (versión inferior a 24.8):

  1. Seleccione el ensamblado Aspose.Slides de las dependencias del proyecto y luego haga clic en Properties. Aspose Slides package properties
  2. Establezca un alias (por ejemplo, “Slides”). Aspose Slides alias

Ahora, los tipos de System.Drawing.Common se usarán por defecto. El alias de ensamblado externo debe especificarse donde se necesiten tipos de Aspose.Slides.

extern alias Slides;
using Slides::Aspose.Slides;

Ejemplo completo:

extern alias Slides;
using Slides::Aspose.Slides;

static Slides::System.Drawing.Image GetThumbnail(Presentation pres)
{
    return pres.Slides[0].GetThumbnail();
}

A partir de la versión 24.8, la API pública obsoleta con dependencias en System.Drawing ha sido eliminada. Con respecto al ejemplo de código anterior, puede obtener la imagen de la diapositiva como se muestra a continuación.

static Aspose.Slides.IImage GetThumbnail(Presentation presentation)
{
    return presentation.Slides[0].GetImage();
}

La nueva API se describe con más detalle en Modern API.

static Aspose.Slides.IImage GetThumbnail(Presentation presentation)
{
    return presentation.Slides[0].GetImage();
}