.NET 6 サポート
はじめに
Aspose.Slides 23.2 から開始し、.NET6 のサポートが実装されました。このサポートの特徴は、.NET6 が Linux 用の System.Drawing.Common をもはやサポートしなくなったことです(breaking change)。Slides はこのグラフィックサブシステムを C++ コンポーネントとして独自に実装しています。
Aspose.Slides for .NET は以下の環境で GDI/libgdiplus への依存なしで動作します:
- Windows
- Linux
MacOS のサポートは進行中です。
AWS と Azure で .NET 6 用 Slides を使用する
.NET6 はクラウド(AWS、Azure、またはその他のクラウドソリューション)で使用される Aspose.Slides の推奨バージョンです。
従来、Linux ホスト上で Aspose.Slides を使用する場合、追加の依存関係(libgdiplus)をインストールする必要があり、AWS Lambda などの環境では不便または非現実的でした。.NET6 用 Slides ではこれらの依存関係が不要となり、デプロイが格段に容易になりました。
また、Windows ホストのクラウドソリューションで Aspose.Slides を使用した際に発生した問題も考慮すべき点です。たとえば、Azure Functions にはプロセスに制限があり、PDF エクスポート時に問題が生じます(this を参照)。.NET6 用 Aspose.Slides の使用により、この問題は解消されます。
System.Drawing.Common パッケージと .NET 6 用 Slides クラスの使用 (CS0433: The Type Exists in Both Slides and System.Drawing.Common Error)
プロジェクトで System.Drawing と Slides for .NET6 の両方の依存関係を使用する必要がある場合があります(例: .NET6 プロジェクトが他のパッケージに依存し、そのパッケージが System.Drawing に依存している場合)。このような状況では、次のようなエラーが発生することがあります:
- 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
この場合、Aspose.Slides(バージョン 24.8 未満)に対して extern alias を使用できます。
- プロジェクトの依存関係から Aspose.Slides アセンブリを選択し、Properties をクリックします。

- エイリアスを設定します(例: “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();
}
バージョン 24.8 以降、System.Drawing への依存がある非推奨のパブリック API は削除されています。上記のコード例に関しては、以下のようにスライド画像を取得できます。
static Aspose.Slides.IImage GetThumbnail(Presentation presentation)
{
return presentation.Slides[0].GetImage();
}
新しい API の詳細は Modern API に記載されています。