Hur man kör Aspose.Cells för .Net6
Översikt
För .Net6 (eller senare) plattformar, jämfört med tidigare plattformar (.netcore31 eller tidigare) är en viktig skillnad gällande grafikbiblioteket. I detta officiella Microsoft-dokument förklaras det att för .Net6 eller senare versioner kommer grafikbiblioteket “System.Drawing.Common” endast stödjas på Windows och ger rekommendationer om att ersätta grafikbiblioteket.
För Apose.Cells-produkten har vi genomfört utvärderingen och slutfört migreringen av grafikbiblioteket. Vi använder SkiaSharp istället för System.Drawing.Common i icke-Windows-system, som föreslagits i Microsofts officiella dokumentation. Observera att denna kritiska ändring kommer att träda i kraft i Aspose.Cells 22.10.1 eller senare för .Net6.
För .netcore31 eller tidigare, för kompatibilitet och stabilitet, använder vi fortfarande “System.Drawing.Common” som grafikbibliotek. 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 Nuget-paketet i VS2022.
-
“SkiaSharp” eller “System.Drawing.Common” kommer att installeras automatiskt som beroende av Aspose.Cells 22.10.1 eller senare för .Net6-plattformar, vilket beror på konfigurationen “Destination OS” i ditt projekt.
- Ange “Destination OS” till “Windows” för ditt projekt, kommer du att använda “System.Drawing.Common” som ett beroende på ditt Windows-system för .Net6-projekt. I denna konfiguration är resultatet av ritningen närmare .netcore31 eller tidigare.
- Ange “Destination OS” till “None” eller andra alternativ för ditt projekt, kommer du att använda “SkiaSharp” som ett beroende på ditt Windows-system för .Net6-projekt. Observera att versionen som använder “SkiaSharp” som ett beroende inte stöder utskrift till skrivare.
Installera via msi eller DLL
-
Öppna installationskatalogen eller DLL-katalogen, välj sedan steg 3 eller 4 nedan:
-
Lokalisera delkatalogen “net6.0-windows”, lägg till Aspose.Cells.dll i den till din .net6-applikation. Lägg manuellt till följande nuget-paket till ditt .net6-projekt:
- System.Drawing.Common, 4.7.0.
- System.Security.Cryptography.Pkcs, 6.0.3.
- System.Text.Encoding.CodePages, 4.7.0.
På detta sätt kommer du att använda “System.Drawing.Common” som ett beroende på ditt Windows-system för .Net6-projekt. I denna konfiguration är resultatet av ritningen närmare .netcore31 eller tidigare.
- Lokalisera delkatalogen “net6.0”, lägg till Aspose.Cells.dll i den till din .net6-applikation. Lägg manuellt till följande nuget-paket till ditt .net6-projekt:
- SkiaSharp, 2.88.6.
- System.Security.Cryptography.Pkcs, 6.0.3.
- System.Text.Encoding.CodePages, 4.7.0.
På detta sätt kommer du att använda “SkiaSharp” som ett beroende på ditt Windows-system för .Net6-projekt. Observera att versionen som använder “SkiaSharp” som ett beroende inte stöder utskrift till skrivare.
Kör Aspose.Cells för .Net6 på Linux
Referera till installationsmetoden på Windows, kan du endast välja SkiaSharp som ett grafikbiblioteksberoende på Linux-system.
Du måste göra följande ytterligare åtgärder 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-paketet “SkiaSharp.NativeAssets.Linux 2.88.6” i ditt .net6-projekt.
-
Eller så kan du välja att lägga till nuget-paketet “SkiaSharp.NativeAssets.Linux.NoDependencies 2.88.6” i ditt .net6-projekt istället för de två stegen ovan.
Exempel på Dockerfil för Ubuntu
-
Lägg till nuget-paketet “SkiaSharp.NativeAssets.Linux 2.88.6” i 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 på Dockerfil för Alpine
-
Lägg till nuget-paketet “SkiaSharp.NativeAssets.Linux 2.88.6” i 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"]