تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيف يمكن دمج ملفات الـ DLL مع الملف التنفيذي
#1
السلام عليكم

عند استخدام ملفات او مكتبات DLL تحتاج الى تسجيلها في مجلد الـ Asamply حتى تعمل 
اقصد الملفات التي تحتاج الى تسجيل
هل هناك برنامج يجعلها تعمل بمجرد وضعها مع الملف التنفيذي ...؟
او يدمجها معه تم يقوم بتشغيلها في الذاكرة مباشرة ...؟
مثلا الملفات المنتجة من شركة Devexpress لا تعمل الا بحال تسجيلها حتى لو وضعتها بجانب الملف التنفيذي فلن تعمل
اريد طريقة ما غير الطريقة التي يقوم بها الفيجوال ستوديو وهي تحزيم البرنامج
الرد }}}
تم الشكر بواسطة: sendbad100
#2
اولا عملية الدمج يجب أن تتم في مشروع منفصل ليس له علاقة بمشروعك الرئيسي
وعملية الدمج تتم كالأتي
1- تقرأ ملف dll علي هيئة مصفوفة بايت
2- تقوم بتعريف متغير عبارة عن Dictionary(Of String, Byte()) يحيث تكون مدخلاته اسم الملف  قيمته التي عبارة عن مصفوفة بايت
3- تقوم بحفظ Dictionary(Of String, Byte()) في ملف واحد باستخدام BinaryWriter

وهكذا تكون حصلت علي ملف هذا الملف يكون بأي امتداد و اي اسم تحدده أنت

ثم ومن خلال مشروعك الرئيس تضيف الملف الي Resources وتجعله Embeded
ولكي تقرأ ملفات dll ثانية

عليك أن تقرأ الملف من Resources 
ثم وباستخدام BinaryReader تقرأ الملف وتقوم بتحويله الي Dictionary(Of String, Byte()) ثانية
وعند الحاجة لملف dll معين فقط تقوم بتحميله باستخدام Assembly Load من Dictionary(Of String, Byte()) 

قد يبدو لك أن الخطوات صعبة قليلا لكنك لو نفذتها مرة واحدة ستتفهم انها خطوات بسيطة جدا
المهم في الأمر انك تكتب الكود بشكل صحيح
Retired
الرد }}}
تم الشكر بواسطة: viv , sendbad100 , sendbad100
#3
شكرا silverlight اذا لم تخونني ذاكرتي عندما كنت مبرمج دوت نت وكان في بداياته وقتها ولازال جديد في الساحة وكان هناك من الشخصيات التي بدأت مسيرة فتح الطريق لهذه الثقنية اذكر ان هناك واحد بنفس الاسم مع اسماء عديدة .

حسنا ، ولكن هناك شئ يبدو لي غير منطقي فمثلا ، الملفات هذه ليست مجرد مكتبات بها كود للتنفيذ فقط
الملفات هذه هي المسؤولة عن رسم النموذج والازرار وكل شئ مبرمج بها .
يعني حتى استطيع اللحاق بتسجيل هذه المكتبات سيتوقف البرنامج قبل الظهور .
الرد }}}
تم الشكر بواسطة: sendbad100
#4
ذاكرتك جيدة و الحمد لله

الحلول أمامك كالأتي
1- إما ان تتعامل مع Assembly باستخدام Reflection
2- أو تستخدم Global Assembly Cache Tool
وتستخدمه في عمل Install لملف dll الي global assembly cache
 
راجع الرابط التالي بخصوص الحل الثاني
الرابط
Retired
الرد }}}
تم الشكر بواسطة: sendbad100 , viv
#5
حسنا سؤال أخير اذا حالفني الحظ من جديد بمرورك من هنا .

فانا صار لي فترة طويلة غائب عن الدوت نت .
هناك ملفات تضعها مع الملف التنفيذي مكتبات لتنفيذ كود او حتى لتصميم الواجهة والازرار يعني مكونات مرئية
تضعها مع الملف التنفيذي وتعمل بشكل عادي ولا تحتاج تسجيل
وهناك ملفات ضروري تحتاج الى تسجيل

ما الفرق بينهم ، ولماذا هذا يعمل هكذا وهذا يعمل هكذا
حتى راس الخيط فقط وانا اكمل البحث بنفسي
الرد }}}
تم الشكر بواسطة:
#6
مرحبا بك في .......................................................

Dll Hell
Retired
الرد }}}
تم الشكر بواسطة: viv
#7
فعلا هو جحيم ملفات الربط الديناميكي
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيف يمكن تصدير ascx كملف dll justforit 1 143 06-12-25, 12:33 AM
آخر رد: salamandal
  [VB.NET] مشكلة تظهر عند استخدام الملف manifest mmaalmesry 2 634 12-05-25, 12:15 AM
آخر رد: mmaalmesry
  كيف يمكن تحريك الفورم بأستخدام زر heem1986 2 595 30-03-25, 01:58 AM
آخر رد: heem1986
  كيف يمكن تحويل ملف تنفيذى الى فيجوال بيسك 2010 walkady 2 793 07-02-25, 07:57 PM
آخر رد: الورد2
  طلب تعديل كود جلب اسم الملف ومساره مصمم هاوي 4 551 25-01-25, 12:45 AM
آخر رد: مصمم هاوي
  طريقة جلب نوع ملفات معينة heem1986 3 489 31-12-24, 11:32 PM
آخر رد: aljzazy
  كيف يمكن أشاء أسكربت لقاعدة بيانات sql heem1986 3 421 29-10-24, 08:37 PM
آخر رد: aliday03
  أسرع طريقة يمكن بها نقل جدول Table من قاعدة بيانات على النت إلى أخرى محلية mmaalmesry 2 601 19-10-24, 09:26 PM
آخر رد: mmaalmesry
  كيف يمكن اضافة عناصر للكومبوبوكس اثناء تشغيل البرنامج عن طريق المستخدم haithammoftah 3 2,172 30-09-24, 12:52 AM
آخر رد: asmarsou
  حل مشكلة تعذر تحميل الملف أو التجميع ل scannerlib ahlamalgomate2020 0 301 01-09-24, 03:05 PM
آخر رد: ahlamalgomate2020

التنقل السريع :


يقوم بقرائة الموضوع: