Comment exécuter Aspose.Cells pour .Net6
Aperçu
Pour les plates-formes .NET6 (ou ultérieures), par rapport aux plates-formes précédentes (.netcore31 ou antérieures), une différence importante concerne la bibliothèque graphique. Dans ce fonctionnaireMicrosoft Document, il explique que pour .NET6 ou les versions ultérieures, la bibliothèque graphique “System.Drawing.Common” ne sera prise en charge que sur Windows et donne des recommandations pour remplacer la bibliothèque graphique.
Pour le produit Apose.Cells, nous avons effectué l’évaluation et terminé la migration de la bibliothèque graphique. Nous utilisons SkiaSharp au lieu de System.Drawing.Common dans les systèmes non-Windows, comme suggéré dans la documentation officielle de Microsoft. Veuillez noter que ce changement critique prendra effet dans la version Aspose.Cells 22.10.1 ou version ultérieure pour .Net6.
Pour .netcore31 ou version antérieure, pour des raisons de compatibilité et de stabilité, nous utilisons toujours actuellement la bibliothèque graphique “System.Drawing.Common”. Les dépendances pour .netcore31 ou version antérieure sont les suivantes :
- Système.Drawing.Common, 4.7.0.
- Système.Sécurité.Cryptographie.Pkcs, 5.0.1.
- System.Text.Encoding.CodePages, 4.7.0.
Exécutez Aspose.Cells pour .Net6 sur Windows
Vous pouvez d’abord créer une application .net6 avec VS2022, puis choisir les options d’installation suivantes :
Installer via nuget
-
Recherchez Aspose.Cells à partir de NuGet :Aspose.Cells for .NET NuGet Paquet. Vous pouvez également installer Aspose.Cells à partir du gestionnaire de packages Nuget dans VS2022.
-
“SkiaSharp” ou “System.Drawing.Common” sera installé automatiquement en tant que dépendance de Aspose.Cells 22.10.1 ou version ultérieure pour les plates-formes .Net6, qui dépend de la configuration du “OS cible” dans votre projet.
- Définissez le “OS cible” sur “Windows” pour votre projet, vous utiliserez “System.Drawing.Common” comme dépendance sur votre système Windows pour le projet .Net6. Dans cette configuration, le résultat du dessin est plus proche de .netcore31 ou antérieur.
- Définissez le “OS cible” sur “Aucun” ou d’autres options pour votre projet, vous utiliserez “SkiaSharp” comme dépendance sur votre système Windows pour le projet .Net6.Veuillez noter que la version qui utilise « SkiaSharp » comme dépendance ne prend pas en charge la fonction d’impression sur imprimante.
Installer via msi ou DLL
-
Ouvrez le répertoire d’installation ou le répertoire DLL, puis sélectionnez l’étape 3 ou 4 ci-dessous :
-
localisez le sous-répertoire “net6.0-windows”, ajoutez-y le Aspose.Cells.dll à votre application .net6. Ajoutez manuellement les packages nuget suivants à votre projet .net6 :
- Système.Drawing.Common, 4.7.0.
- Système.Sécurité.Cryptographie.Pkcs, 6.0.3.
- System.Text.Encoding.CodePages, 4.7.0.
De cette façon, vous utiliserez “System.Drawing.Common” comme dépendance de votre système Windows pour le projet .Net6. Dans cette configuration, le résultat du dessin est plus proche de .netcore31 ou antérieur.
- localisez le sous-répertoire “net6.0”, ajoutez-y le Aspose.Cells.dll à votre application .net6. Ajoutez manuellement les packages nuget suivants à votre projet .net6 :
- SkiaSharp, 2.88.6.
- Système.Sécurité.Cryptographie.Pkcs, 6.0.3.
- System.Text.Encoding.CodePages, 4.7.0.
De cette façon, vous utiliserez “SkiaSharp” comme dépendance sur votre système Windows pour le projet .Net6.Veuillez noter que la version qui utilise « SkiaSharp » comme dépendance ne prend pas en charge la fonction d’impression sur imprimante.
Exécutez Aspose.Cells pour .Net6 sous Linux
Reportez-vous à la méthode d’installation sur Windows, vous pouvez uniquement sélectionner SkiaSharp comme dépendance de bibliothèque graphique sur le système Linux.
Vous devez effectuer les opérations supplémentaires suivantes pour garantir une bonne utilisation de SkiaSharp sous Linux :
- Exécutez la commande suivante sur votre système Linux :
apt-get update && apt-get install -y libfontconfig1
OR
apk update && apk add fontconfig
-
Ajoutez les packages nuget « SkiaSharp.NativeAssets.Linux 2.88.6 » à votre projet .net6.
-
Ou vous pouvez choisir d’ajouter les packages nuget « SkiaSharp.NativeAssets.Linux.NoDependencies 2.88.6 » à votre projet .net6, au lieu des deux étapes ci-dessus.
Exemple de fichier Docker pour Ubuntu
-
Ajoutez les packages nuget “SkiaSharp.NativeAssets.Linux 2.88.6” à votre projet .net6.
-
Utilisez le fichier Docker suivant :
# Ubuntu 20.04 FROM mcr.microsoft.com/dotnet/runtime:6.0-focal AS base WORKDIR /app # add "libfontconfig1" package if using "SkiaSharp.NativeAssets.Linux" in your project # Or you need to use "SkiaSharp.NativeAssets.Linux.NoDependencies" in your project RUN apt-get update && apt-get install -y libfontconfig1 # Copy fonts from local to docker # For example, put a "fonts" folder in your project folder, and put the font files in it, # then, use the following line: COPY fonts/ /usr/share/fonts FROM mcr.microsoft.com/dotnet/sdk:6.0-focal AS build WORKDIR /src COPY ["Ubuntu_Docker.csproj", "."] RUN dotnet restore "./Ubuntu_Docker.csproj" COPY . . WORKDIR "/src/." RUN dotnet build "Ubuntu_Docker.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "Ubuntu_Docker.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "Ubuntu_Docker.dll"]
Exemple de fichier Docker pour Alpine
-
Ajoutez les packages nuget “SkiaSharp.NativeAssets.Linux 2.88.6” à votre projet .net6.
-
Utilisez le fichier Docker suivant :
# Alpine 3.16 FROM mcr.microsoft.com/dotnet/runtime:6.0-alpine3.16 AS base WORKDIR /app # add "fontconfig" package if using "SkiaSharp.NativeAssets.Linux" in your project # Or you need to use "SkiaSharp.NativeAssets.Linux.NoDependencies" in your project RUN apk update && apk add fontconfig # Copy fonts from local to docker # For example, put a "fonts" folder in your project folder, and put the font files in it, # then, use the following line: COPY fonts/ /usr/share/fonts FROM mcr.microsoft.com/dotnet/sdk:6.0-alpine3.16 AS build WORKDIR /src COPY ["Alpine_Docker.csproj", "."] RUN dotnet restore "./Alpine_Docker.csproj" COPY . . WORKDIR "/src/." RUN dotnet build "Alpine_Docker.csproj" -c Release -o /app/build FROM build AS publish RUN dotnet publish "Alpine_Docker.csproj" -c Release -o /app/publish FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "Alpine_Docker.dll"]