.NET 6 Suporte

Introdução

A partir do Aspose.Slides 23.2, o suporte para .NET6 foi implementado. A peculiaridade desse suporte é que o .NET6 não suporta mais System.Drawing.Common para Linux (breaking change) e o Slides implementa esse subsistema gráfico por conta própria como um componente C++.

Aspose.Slides for .NET agora funciona sem dependências de GDI/libgdiplus em:

  • Windows
  • Linux

MacOS suporte está em progresso.

Usando Slides para .NET 6 na AWS e Azure

.NET6 é a versão preferida para o Aspose.Slides usado na nuvem (AWS, Azure ou outras soluções de nuvem).

Anteriormente, quando o Aspose.Slides era usado em um host Linux, dependências adicionais (libgdiplus) precisavam ser instaladas e isso muitas vezes era inconveniente ou impraticável (por exemplo, ao usar AWS Lambda). Com o Slides para .NET6, essas dependências não são mais necessárias, portanto a implantação é muito mais fácil.

Outra consideração são os problemas que ocorriam quando o Aspose.Slides era usado em uma solução de nuvem com um host Windows. Por exemplo, Azure Functions têm limitações para o processo e resultam em problemas durante uma operação de exportação PDF (veja este). O uso do Aspose.Slides para .NET6 resolve esse problema.

Usando o Pacote System.Drawing.Common e Classes Slides para .NET 6 (CS0433: The Type Exists in Both Slides and System.Drawing.Common Error)

Às vezes, tanto as dependências de System.Drawing quanto as de Slides para .NET6 precisam ser usadas em um projeto (por exemplo, quando o projeto .NET6 depende de outros pacotes, que por sua vez dependem de System.Drawing). Isso pode causar erros de complicação como estes:

  • 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

Neste caso, você pode usar extern alias para Aspose.Slides (versão menor que 24.8):

  1. Selecione o assembly Aspose.Slides das dependências do projeto e então clique em Properties. Aspose Slides package properties
  2. Defina um alias (por exemplo, “Slides”). Aspose Slides alias

Agora, os tipos de System.Drawing.Common serão usados por padrão. O alias de assembly externo deve ser especificado onde os tipos Aspose.Slides são necessários.

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

Exemplo completo:

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

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

A partir da versão 24.8, a API pública depreciada com dependências em System.Drawing foi removida. Em relação ao exemplo de código acima, você pode obter a imagem do slide como abaixo.

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

A nova API é descrita em mais detalhes em Modern API.