كيفية تشغيل Aspose.Cells for .Net6
نظرة عامة
بالنسبة لمنصات .NET6 (أو أحدث) ، يُقارن مع منصات سابقة (.netcore31 أو قبل ذلك) ، الفارق الهام هو حول مكتبة الرسومات. في هذا المستند الرسمي Microsoft Document ، يشرح للإصدارات .NET6 أو أحدث مكتبة الرسومات “System.Drawing.Common” ستدعم فقط على نظام التشغيل Windows ، ويقدم توصيات لاستبدال مكتبة الرسومات.
بالنسبة لمنتج Apose.Cells، قمنا بإجراء التقييم وقمنا بإكمال ترحيل مكتبة الرسومات. نحن نستخدم SkiaSharp بدلاً من System.Drawing.Common في أنظمة غير ويندوز، كما اقترح في وثائق مايكروسوفت الرسمية. يرجى ملاحظة أن هذا التغيير الحرج سيكون ساري المفعول في Aspose.Cells 22.10.1 أو أحدث لـ .Net6.
بالنسبة لـ .netcore31 أو قبل ذلك ، من أجل التوافق والاستقرار ، نحن نستخدم حاليًا مكتبة الرسومات “System.Drawing.Common”. تعتمد الاعتماديات لـ .netcore31 أو قبل ذلك على ما يلي:
- System.Drawing.Common, 4.7.0.
- System.Security.Cryptography.Pkcs, 5.0.1.
- System.Text.Encoding.CodePages, 4.7.0.
تشغيل Aspose.Cells for .Net6 على نظام التشغيل Windows
أولاً يمكنك إنشاء تطبيق .net6 باستخدام VS2022 ، ثم يمكنك اختيار خيارات التثبيت التالية:
التثبيت من خلال Nuget
-
البحث عن Aspose.Cells من NuGet: Aspose.Cells for .NET حزمة NuGet. يمكنك أيضًا تثبيت Aspose.Cells من مدير حزم Nuget في VS2022.
-
“SkiaSharp” أو “System.Drawing.Common” سيتم تثبيتها تلقائيًا كتبعية لـ Aspose.Cells 22.10.1 أو في وقت لاحق لمنصات .Net6 ، والتي تعتمد على تكوين “نظام الوجهة” في مشروعك.
- قم بتعيين “هدف نظام التشغيل” إلى “Windows” لمشروعك، وستستخدم “System.Drawing.Common” كتبعية في نظام الويندوز الخاص بك لمشروع .Net6. في هذا التكوين، سيكون نتيجة الرسم أقرب إلى .netcore31 أو الإصدارات السابقة.
- قم بتعيين “هدف نظام التشغيل” إلى “None” أو خيارات أخرى لمشروعك، وستستخدم “SkiaSharp” كتبعية في نظام الويندوز الخاص بك لمشروع .Net6. يرجى ملاحظة أن الإصدار الذي يستخدم “SkiaSharp” كتبعية لا يدعم ميزة الطباعة إلى الطابعة.
تثبيت من خلال msi أو DLL
-
قم بفتح دليل التثبيت أو دليل DLL، ثم حدد الخطوة 3 أو 4 أدناه:
-
قم بتحديد مجلد “net6.0-windows”، وأضف Aspose.Cells.dll فيه لتطبيق .net6 الخاص بك. ثم قم بإضافة الحزم التالية يدوياً إلى مشروع .net6 الخاص بك:
- System.Drawing.Common, 4.7.0.
- System.Security.Cryptography.Pkcs, 6.0.3.
- System.Text.Encoding.CodePages, 4.7.0.
بهذه الطريقة، ستستخدم “System.Drawing.Common” كتبعية في نظام الويندوز الخاص بك لمشروع .Net6. في هذا التكوين، سيكون نتيجة الرسم أقرب إلى .netcore31 أو الإصدارات السابقة.
- قم بتحديد مجلد “net6.0”، وأضف Aspose.Cells.dll فيه لتطبيق .net6 الخاص بك. ثم قم بإضافة الحزم التالية يدوياً إلى مشروع .net6 الخاص بك:
- SkiaSharp, 2.88.6.
- System.Security.Cryptography.Pkcs, 6.0.3.
- System.Text.Encoding.CodePages, 4.7.0.
بهذه الطريقة، ستستخدم “SkiaSharp” كتبعية في نظام الويندوز الخاص بك لمشروع .Net6. يرجى ملاحظة أن الإصدار الذي يستخدم “SkiaSharp” كتبعية لا يدعم ميزة الطباعة إلى الطابعة.
تشغيل Aspose.Cells for .Net6 على نظام Linux
يرجى الإشارة إلى طريقة التثبيت على نظام الويندوز، يمكنك فقط تحديد SkiaSharp كتبعية لمكتبة الرسومات على نظام Linux.
ستحتاج إلى القيام بالعمليات الإضافية التالية لضمان استخدام صحيح للSkiaSharp تحت نظام Linux:
- قم بتشغيل الأمر التالي في نظام Linux الخاص بك:
apt-get update && apt-get install -y libfontconfig1
أو
apk update && apk add fontconfig
-
أضف حزم NuGet “SkiaSharp.NativeAssets.Linux 2.88.6” إلى مشروع .net6 الخاص بك.
-
أو يمكنك اختيار إضافة حزم NuGet “SkiaSharp.NativeAssets.Linux.NoDependencies 2.88.6” إلى مشروع .net6 الخاص بك، بدلاً من الخطوتين أعلاه.
ملف Dockerfile مثالي لأوبونت
-
أضف حزم NuGet “SkiaSharp.NativeAssets.Linux 2.88.6” إلى مشروع .net6 الخاص بك.
-
استخدم ملف Dockerfile التالي:
# 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"]
ملف Dockerfile مثالي لألبين
-
أضف حزم NuGet “SkiaSharp.NativeAssets.Linux 2.88.6” إلى مشروع .net6 الخاص بك.
-
استخدم ملف Dockerfile التالي:
#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"]