Hur man kör Aspose.Cells för .Net6
Översikt
För .NET6 (eller senare) plattformar, jämför med tidigare plattformar (.netcore31 eller tidigare), är en viktig skillnad om grafikbiblioteket. I denna tjänstemanMicrosoft Dokument, förklarar det för .NET6 eller senare versioner att grafikbiblioteket “System.Drawing.Common” endast stöds på Windows, och ger rekommendationer för att ersätta grafikbiblioteket.
För produkten Apose.Cells har vi genomfört utvärderingen och har slutfört migreringen av grafikbiblioteket. Vi använder SkiaSharp istället för System.Drawing.Common i icke-Windows system, som föreslås i Microsoft:s officiella dokumentation. Observera att denna kritiska ändring kommer att träda i kraft Aspose.Cells 22.10.1 eller senare för .Net6.
För .netcore31 eller tidigare, för kompatibilitet och stabilitet, använder vi för närvarande fortfarande grafikbiblioteket “System.Drawing.Common”. Beroendena för .netcore31 eller tidigare är följande:
- System.Drawing.Common, 4.7.0.
- System.Security.Cryptography.Pkcs, 5.0.1.
- System.Text.Encoding.CodePages, 4.7.0.
Kör Aspose.Cells för .Net6 på Windows
Först kan du skapa en .net6-applikation med VS2022, sedan kan du välja följande installationsalternativ:
Installera via nuget
-
Sök efter Aspose.Cells från NuGet:Aspose.Cells for .NET NuGet Paket. Du kan också installera Aspose.Cells från pakethanteraren Nuget i VS2022.
-
“SkiaSharp” eller “System.Drawing.Common” kommer att installeras automatiskt som ett beroende av Aspose.Cells 22.10.1 eller senare för .Net6-plattformar, vilket beror på “Target OS”-konfigurationen i ditt projekt.
- Ställ in “Target OS” till “Windows” för ditt projekt, du kommer att använda “System.Drawing.Common” som ett beroende av ditt Windows-system för .Net6-projektet. I den här konfigurationen är resultatet av ritningen närmare .netcore31 eller tidigare.
- Ställ in “Target OS” till “None” eller andra alternativ för ditt projekt, du kommer att använda “SkiaSharp” som ett beroende av ditt Windows-system för .Net6-projektet. Observera att SkiaSharp för närvarande inte stöder format som EMF i Windows.
Installera via msi eller DLL
-
Öppna installationskatalogen eller DLL-katalogen och välj sedan steg 3 eller 4 nedan:
-
hitta underkatalogen “net6.0-windows”, lägg till Aspose.Cells.dll i den i ditt .net6-program. Lägg manuellt till följande nuget-paket till ditt .net6-projekt:
- System.Drawing.Common, 4.7.0.
- System.Security.Cryptography.Pkcs, 6.0.1.
- System.Text.Encoding.CodePages, 4.7.0.
På detta sätt kommer du att använda “System.Drawing.Common” som ett beroende av ditt Windows-system för .Net6-projektet. I den här konfigurationen är resultatet av ritningen närmare .netcore31 eller tidigare.
- hitta underkatalogen “net6.0”, lägg till Aspose.Cells.dll i den i ditt .net6-program. Lägg manuellt till följande nuget-paket till ditt .net6-projekt:
- SkiaSharp, 2.88.3.
- System.Security.Cryptography.Pkcs, 6.0.1.
- System.Text.Encoding.CodePages, 4.7.0.
På detta sätt kommer du att använda “SkiaSharp” som ett beroende av ditt Windows-system för .Net6-projektet. Observera att SkiaSharp för närvarande inte stöder format som EMF i Windows.
Kör Aspose.Cells för .Net6 på Linux
Se installationsmetoden på Windows, du kan bara välja SkiaSharp som ett grafikbiblioteksberoende på Linux-system.
Du måste göra följande ytterligare operationer för att säkerställa korrekt användning av SkiaSharp under Linux:
- Kör följande kommando i ditt Linux-system:
apt-get update && apt-get install -y libfontconfig1
ELLER
apk update && apk add fontconfig
-
Lägg till nuget-paketen “SkiaSharp.NativeAssets.Linux 2.88.3” till ditt .net6-projekt.
-
Eller så kan du välja att lägga till nuget-paket “SkiaSharp.NativeAssets.Linux.NoDependencies 2.88.3” till ditt .net6-projekt istället för de två stegen ovan.
Exempel Dockerfile för Ubuntu
-
Lägg till nuget-paketen “SkiaSharp.NativeAssets.Linux 2.88.3” till ditt .net6-projekt.
-
Använd följande Dockerfil:
# 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"]
Exempel Dockerfile för Alpine
-
Lägg till nuget-paketen “SkiaSharp.NativeAssets.Linux 2.88.3” till ditt .net6-projekt.
-
Använd följande Dockerfil:
# 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"]