Поддержка .NET6

Введение

Начиная с Aspose.Slides 23.2, была реализована поддержка .NET6. Особенность этой поддержки заключается в том, что .NET6 больше не поддерживает System.Drawing.Common для Linux (прерывающее изменение) и Slides реализует эту графическую подсистему самостоятельно как компонент C++.

Aspose.Slides для .NET теперь работает без зависимостей от GDI/libgdiplus на:

  • Windows
  • Linux

Поддержка MacOS находится в процессе.

Использование Slides для .NET6 на AWS и Azure

.NET6 является предпочтительной версией для Aspose.Slides, используемого в облаке (AWS, Azure или других облачных решениях).

Ранее, когда Aspose.Slides использовался на Linux-хосте, приходилось устанавливать дополнительные зависимости (libgdiplus), и это часто было неудобно или нецелесообразно (например, при использовании AWS Lambda). С Slides для .NET6 эти зависимости больше не нужны, поэтому развертывание стало намного проще.

Еще одним моментом являются проблемы, которые возникали, когда Aspose.Slides использовался на облачном решении с Windows-хостом. Например, Azure Functions имеют ограничения для процесса, что приводит к проблемам во время операции экспорта PDF (см. это). Использование Aspose.Slides для .NET6 решает эту проблему.

Использование пакета System.Drawing.Common и классов Slides для .NET6 (ошибка CS0433: Тип существует как в Slides, так и в System.Drawing.Common)

Иногда необходимо использовать зависимости как System.Drawing, так и Slides для .NET6 в проекте (например, когда проект .NET6 зависит от других пакетов, которые, в свою очередь, зависят от System.Drawing). Это может привести к ошибкам компиляции, таким как:

  • CS0433: Тип ‘Image’ существует как в ‘Aspose.Slides, Version=23.2.0.0, Culture=neutral, PublicKeyToken=716fcc553a201e56’, так и в ‘System.Drawing.Common, Version=6.0.0.0’
  • CS0433: Тип ‘Graphics’ существует как в ‘Aspose.Slides, Version=23.2.0.0, Culture=neutral, PublicKeyToken=716fcc553a201e56’, так и в ‘System.Drawing.Common, Version=6.0.0.0’

В этом случае можно использовать внешний псевдоним для Slides:

  1. Выберите сборку Aspose.Slides из зависимостей проекта и затем нажмите Свойства. Свойства пакета Aspose Slides
  2. Установите псевдоним (например, “Slides”). Псевдоним Aspose Slides

Теперь типы из System.Drawing.Common будут использоваться по умолчанию. Внешний псевдоним сборки должен быть указан там, где нужны типы Aspose.Slides.

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

Полный пример:

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

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