الاعدادات (Configurations) في ASP.NET Core
-
لنبدأ هذا الدرس باعادة تحليل وفهم لمكونات المشروع
أولا : ملف csproj.
هذا الملف مخفي بواسطة Visual Studio ويجب الوصول إليه عن طريق النقر بزر الماوس الأيمن على مشروعك وتحديد Edit Project File.
اسم الملف csproj. في مشروعنا الحالي هو الذي سيكون StudentsAcademy.csproj. وهو نفس اسم المشروع.

محتويات الملف StudentsAcademy.csproj الأولية هي
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="5.0.2" />
</ItemGroup>
</Project>
يحتوي csproj على العديد من الإعدادات التي تُستخدم لبناء مشاريع NET. يمكنك إضافة أي حزمة يحتاجها تطبيقك إلى هذا الملف. عندما تقوم بإضافة أي حزمة إلى ملف csproj، يقوم Visual Studio بتنزيل تلك الحزمة. وبالمثل، عند إزالة أي حزمة من ملف csproj، يقوم Visual Studio بإزالة تلك الحزمة من التطبيق الخاص بك.
العناصر الموجودة في ملفات
العنصر Element | الوصف Description |
Project | إنه عنصر الأساس root ، تحدد Sdk attribute أنه يجب إنشاء التطبيق باستخدام حزمة Microsoft.NET.Sdk.Web. |
PropertyGroup | تستخدم لتجميع الخصائص ذات الصلة. |
TargetFramework | يوجه NET Core لاستخدام الإصدار المحدد عند إنشاء مشروع. |
ItemGroup | تستخدم لتجميع العناصر ذات الصلة. |
Folder | يخبر NET Core بتضمين المجلد (هنا wwwroot) عند نشر المشروع |
PackageReference | تحدد الاعتماد على حزمة NuGet. Microsoft.AspNetCore.All عبارة عن حزمة توفر الوصول إلى جميع الحزم الفردية التي توفر وظائف ASP.NET Core و MVC. |
ما هي حزمة Json.NET
هي حزمة JSON عالية الأداء شهيرة لـ NET. يتم استخدامه لإجراء Serialize and deserialize JSON.
لإضافة حزم Json.NET ، أضف ItemGroup أدناه داخل " ItemGroup " لملف csproj (اللون الأحمر) ثم احفظ الملف سيتم اضافة هذه الحزمة بشكل تلقائي الى المشروع:
Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="5.0.2" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
</ItemGroup>
</Project>
قبل الإضافة يكون شكل المشروع

بعد الإضافة وحفظ المشروع سيتم إضافة Json.NET الى مشروعك كما في الصورة

ملاحظة :
كتابة أسماء الحزم وإصداراتها package names and there versions على ملف csproj. يمكن أن تسبب اخطاء. يمكنك تجنب هذه الأخطاء تمامًا عن طريق إضافة packages من خلال NuGet Package Manager.
بمعنى اخر تعتبر الاضفاة عن طريق ملف csproj طريقة يدوية لإضافة packages التي قد تسبب أخطاء في المشروع. لتجنب ذلك يمكن استخدام NuGet Package Manager
إضافة الحزم من خلال NuGet
يسمح NuGet Package Manager بإدارة حزم NuGet من خلال واجهة سهلة الاستخدام.
لفتح هذه النافذة اتبع الخطوات :
Select Tools ➤ NuGet Package Manager ➤ Manage NuGet Packages for Solution
سيؤدي هذا إلى فتح نافذه NuGet Solution ، هناك انقر فوق علامة التبويب Browse tab وأدخل اسم package في مربع النص. عندما ترى package التي بحثت عنها في القائمة، حددها ثم انقر فوق الزر " Install".

في الصورة أدناه قمت بالبحث عن Json.NET، ثم قمت بتحديده وتثبيته.

هناك طريقة أقصر أيضًا إذا كنت تعرف اسمpackage التي تحتاجها. من خلال Package Manger Console.
لفتحه اتبع الإجراء التالي:
Tools ➤ NuGet Package Manager ➤ Packages Manager Console


لتثبيت Newtonsoft.Json اكتب الامر التالي
PM> Install-Package Newtonsoft.Json
يعمل هذا الامر على تثبيت الحزمة Newtonsoft.Json
ثانيا : ملف Program Class
ستجد في root folder للتطبيق الخاص بك ملف باسم Program.cs الذي يسمى Program Class. يحتوي هذا الملف على function باسم ()Main الذي يعتبر نقطة الدخول لتشغيل التطبيق.

الكود الأولي في هذا class هو
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace StudentsAcademy
{
public class Program
{
public static void Main(string[] args)
{
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
}
تستدعي الطريقة الرئيسية في فئة البرنامج CreateHostBuilder () function، والتي تقوم بتكوين ASP.NET Core مثل إعداد بيئة الاستضافة.
داخل CreateHostBuilder () function، ستجد أنه يستدعي وظيفة CreateDefaultBuilder() التي تكوّن التطبيق بالإعدادات الأكثر ملاءمة. أعني بالإعدادات الأكثر ملاءمة الإعدادات المناسبة لمعظم تطبيقات ASP.NET Core.
تستخدم UseStartup() لاستدعاء Startup.cs clas التي يتم الاحتفاظ بها أيضًا في المجلد الجذر للتطبيق. توفر Startup.cs class تكوينًا خاصًا بالتطبيق. في القسم التالي سوف تتعلم المزيد عن Startup Class.
تقوم Build() function ببناء التطبيق وإذا لم يتم العثور على أخطاء ، فسيتم تشغيل التطبيق الخاص بك على المتصفح.
اترك تعليقك