البرمجة

كيفية تحميل واستخدام جمعيات .NET Core من مجلد معين

لتحميل الجمعيات الموجودة في مجلد في تطبيق وحدة التحكم .Net Core ، يمكنك استخدام مكتبة System.Reflection للوصول إلى المعلومات حول الجمعيات وتحميلها ديناميكيًا. هناك عدة خطوات يمكنك اتباعها لتحقيق ذلك:

  1. قم بتحديد مسار المجلد الذي يحتوي على ملفات dll الخاصة بالجمعيات التي تريد تحميلها.

  2. استخدم Assembly.LoadFrom لتحميل الجمعيات. يجب أن تكون مسارات ملفات dll مطابقة تمامًا لمسارات المجلد الذي تم تحديده في الخطوة 1.

  3. بمجرد تحميل الجمعيات ، يمكنك استخدام Type.GetType للعثور على النوع الذي تريد إنشاءه.

  4. بعد العثور على النوع ، يمكنك استخدام Activator.CreateInstance لإنشاء مثيل من النوع واستدعاء الطرق عليه.

اليك كيفية تنفيذ هذه الخطوات في التطبيق الخاص بك:

csharp
using System; using System.IO; using System.Reflection; namespace AssemblyLoadingDynamic { public class Program { public static void Main(string[] args) { // Define the path to the folder containing the dll files string dllFolderPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "dlls"); // Load all dll files in the folder foreach (string dllFile in Directory.GetFiles(dllFolderPath, "*.dll")) { Assembly assembly = Assembly.LoadFrom(dllFile); // Find and instantiate the Sample class Type sampleType = assembly.GetType("MyClassLib.SampleClasses.Sample"); if (sampleType != null) { dynamic sampleInstance = Activator.CreateInstance(sampleType); // Call the methods using dynamic features of C# string greeting = sampleInstance.SayHello("John"); Console.WriteLine(greeting); DateTime currentTime = sampleInstance.SayDateTime(); Console.WriteLine(currentTime); } } } } }

يرجى ملاحظة أنه يجب تأكيد أن اسم النوع (Sample في هذه الحالة) والمسار المحدد لملف dll متطابقان تمامًا مع المسار الفعلي واسم النوع في مشروع الجمعية الذي تريد تحميله واستخدامه.

المزيد من المعلومات

بالتأكيد! لتحميل الجمعيات الموجودة في مجلد في تطبيق وحدة التحكم .NET Core، يمكنك اتباع الخطوات التالية:

  1. تحديد مسار المجلد:
    قم بتحديد المجلد الذي يحتوي على ملفات الـ DLL التي تريد تحميلها. في هذه الحالة، المجلد هو /dlls/.

  2. تحميل الجمعيات:
    استخدم Assembly.LoadFrom لتحميل الجمعيات. يمكنك تكرار هذه العملية لكل ملف DLL تريد استخدامه. على سبيل المثال:

    csharp
    using System; using System.IO; using System.Reflection; namespace AssemblyLoadingDynamic { public class Program { public static void Main(string[] args) { string dllPath = Path.Combine(Directory.GetCurrentDirectory(), "dlls", "MyClassLib.dll"); Assembly assembly = Assembly.LoadFrom(dllPath); Type type = assembly.GetType("MyClassLib.SampleClasses.Sample"); dynamic instance = Activator.CreateInstance(type); string greeting = instance.SayHello("World"); Console.WriteLine(greeting); DateTime now = instance.SayDateTime(); Console.WriteLine($"Current DateTime: {now}"); } } }
  3. استخدام الكلاسات:
    بعد تحميل الجمعية، يمكنك الوصول إلى الكلاسات واستخدامها بواسطة Activator.CreateInstance و dynamic للوصول إلى الأعضاء بشكل ديناميكي.

  4. تذكير:
    تأكد من تغيير “MyClassLib.dll” إلى اسم الجمعية الفعلي إذا كان مختلفًا في التطبيق الخاص بك.

هذا هو الشكل الأساسي لتحميل الجمعيات من مجلد معين في تطبيق وحدة التحكم .NET Core واستخدام الكلاسات المحتواة فيها بواسطة C# dynamic features.

زر الذهاب إلى الأعلى