كيفية تحميل واستخدام جمعيات .NET Core من مجلد معين
لتحميل الجمعيات الموجودة في مجلد في تطبيق وحدة التحكم .Net Core ، يمكنك استخدام مكتبة System.Reflection
للوصول إلى المعلومات حول الجمعيات وتحميلها ديناميكيًا. هناك عدة خطوات يمكنك اتباعها لتحقيق ذلك:
-
قم بتحديد مسار المجلد الذي يحتوي على ملفات dll الخاصة بالجمعيات التي تريد تحميلها.
مقالات ذات صلة -
استخدم
Assembly.LoadFrom
لتحميل الجمعيات. يجب أن تكون مسارات ملفات dll مطابقة تمامًا لمسارات المجلد الذي تم تحديده في الخطوة 1. -
بمجرد تحميل الجمعيات ، يمكنك استخدام
Type.GetType
للعثور على النوع الذي تريد إنشاءه. -
بعد العثور على النوع ، يمكنك استخدام
Activator.CreateInstance
لإنشاء مثيل من النوع واستدعاء الطرق عليه.
اليك كيفية تنفيذ هذه الخطوات في التطبيق الخاص بك:
csharpusing 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، يمكنك اتباع الخطوات التالية:
-
تحديد مسار المجلد:
قم بتحديد المجلد الذي يحتوي على ملفات الـ DLL التي تريد تحميلها. في هذه الحالة، المجلد هو/dlls/
. -
تحميل الجمعيات:
استخدمAssembly.LoadFrom
لتحميل الجمعيات. يمكنك تكرار هذه العملية لكل ملف DLL تريد استخدامه. على سبيل المثال:csharpusing 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}"); } } }
-
استخدام الكلاسات:
بعد تحميل الجمعية، يمكنك الوصول إلى الكلاسات واستخدامها بواسطةActivator.CreateInstance
وdynamic
للوصول إلى الأعضاء بشكل ديناميكي. -
تذكير:
تأكد من تغيير “MyClassLib.dll” إلى اسم الجمعية الفعلي إذا كان مختلفًا في التطبيق الخاص بك.
هذا هو الشكل الأساسي لتحميل الجمعيات من مجلد معين في تطبيق وحدة التحكم .NET Core واستخدام الكلاسات المحتواة فيها بواسطة C# dynamic features.