تقييم الموضوع :
  • 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
فعلا هو جحيم ملفات الربط الديناميكي
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Exclamation [سؤال] كيف يمكن الغاء السوال عند الكتابة على ملف موجود dell 0 48 19-03-24, 01:23 AM
آخر رد: dell
  [VB.NET] كيف يمكن إخفاء ظهور الشاشة السوداء فى الـــ console AmeenRashed 2 316 15-11-23, 03:51 PM
آخر رد: justforit
Information [VB.NET] أنواع ملفات التحديث أبو خالد الشكري 2 218 15-11-23, 12:00 PM
آخر رد: أبو خالد الشكري
  ما أسرع استضافة يمكن رفع المشروع عليها ؟ hazim1 0 197 03-10-23, 08:55 AM
آخر رد: hazim1
  كيف يمكن تأخير الـSplash Screen حتى يتم تحميل الأدوات بالكامل؟ hazim1 0 270 28-09-23, 08:23 AM
آخر رد: hazim1
  هل يمكن نسخ احتياطي لأسماء الButtons ؟ hazim1 2 238 21-09-23, 07:32 PM
آخر رد: hazim1
Photo [سؤال] كيف أقوم بإجبار التطبيق (الفورم) على حفظ الملف المستعاد من قاعدة البيانات SQL server salam82 3 455 20-09-23, 01:42 PM
آخر رد: salam82
  هل يمكن عد الصفوف التالية للصف المُحدد في Datagridview ؟ hazim1 1 460 17-07-23, 09:04 PM
آخر رد: mrfenix93
  كيف اقوم بقفل الملف الذي يستخدمه احد المستخدمين ابو محمد محمد محمد 8 644 21-04-23, 05:58 PM
آخر رد: ابو محمد محمد محمد
Music [كود] هل لدى احد فكره عن كيفيه ارسال ملفات صوتيه عبر الشبكة badrkamel 3 1,714 19-04-23, 10:28 PM
آخر رد: Taha Okla

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم