العودة   منتديات عميد التعريب > >

الملاحظات

فيجوال بيسك Visual Basic.NET ـ كل ما يتعلق بمجال برمجة الفيجوال بيسك



إضافة رد

قديم 2010-09-19, 18:38   رقم المشاركة :1
معلومات العضو
الراعي الرسمي وداعم مسيرة عطاء المنتدى
 
الصورة الرمزية وليد السند
إحصائية العضو





مستوى التقييم: 9
وليد السند is on a distinguished road

مشاهدة أوسمتي

المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي الأن يمكنك دمج ملفات FrameWork أو أي أسمبلي مع برنامجك التنفيذي


بسم الله الرحمن الرحيم


السلام عليكم ورحمة الله وبركاته

الكثير من الأخوة الأفاضل دائما ما يتسائلون عن كيفية إضافة ملفات الدوت نت FrameWork الي برامجهم التنفيذية؟

الأن يمكنك أن تفعل ذلك بكل سهولة فلقد اطلقت شركة مايكروسوفت في أواخر عام 2009 برنامجا يقوم بهذه الخدمة واسم هذا البرنامج هو ILMerge ويمكنكم إنزال نسخة من هذا البرنامج من اللينك التالي وهو برنامج Free



ولمن يريد مزيدا من التفاضيل عن هذه الخدمة يمكنه مراجعة اللينك التالي




وتعتبر أهم مميزات برنامج ILMerge هو امكانية دمج أي أسمبلي أو أكثر في ملف واحد فقط وبالتالي يمكنك الأن أن تدمج اي شئ مع برنامجك التنفيذي
اضافة لطريقة الدمج :
ملاحظة: ستتكرر كثيرا كلمة "تجميع" أو "وحدة نمطية" في هذا الموضوع, للمزيد من
عادة ما تتكون تجميعات الدوت نت من عدة أجزاء, عدد من التجميعات في مجلد التطبيق, وعدد آخر ضمن مجلد التجميعات العمومية Global Assembly Cache, عندما تقوم بتشغيل التطبيق فإن وقت التشغيل RunTime سيعمل على ربط تلك الأجزاء بالتطبيق بالشكل المطلوب, لكن أحياناً من الجيد أن نقوم بربط كافة أجزاء التطبيق ضمن تجميع واحد Single Assembly, على سبيل المثال قد ترغب في تسهيل عملية نشر برنامجك إن كان يحتوي على عدد لابأس به من التجميعات الضرورية لتشغيل التطبيق عند العميل, يمكنك في هذه الحالة دمج كافة مكتبات البرنامج والموارد الضرورية ضمن ملف تنفيذي واحد Single executable.

عندما تقوم بكتابة عدد مكتبات باستخدام لغة برمجة واحدة عندها يمكن بسهولة إنشاء تجميع واحدبدلا من بعثرة كل تجميع, والناتج سيكون إما مكتبة DLL منفردة أو ملف تنفيذي منفرد مع كافة التبعيات dependencies.

رمز:

في المقابل عندما تعمل على إنشاء مكتبات مخvbc /target:winexe /out:Program.exe MainProgram.vb ClassLibrary1.vb ClassLibrary2.vbتلفة باستخدام لغات الدوت نت المختلفة عندها لن تتمكن من القيام بذلك

.NET Modules

مترجمات الدوت نت .NET Compilers تمكنك من إنشاء الوحدات النمطية المدارة .NET Managed Modules تماماً مثلما تقوم بإنشاء تجميع (ولكن من دون ملف Manifest), ويمكنك بعد ذلك ربط تلك الوحدات ودمجها ضمن تجميع واحد باستخدام الأداة al.exe, وبذلك يمكنك إشاء تجميع واحد يضم عدة وحدات نمطية مصممة بلغات مختلفة. وللقيام بذلك كل ماعليك فعله هو هو ترجمة السورس كود إلى وحدة نمطية باستخدام أداة المترجم vbc.exe أو csc.exe أو كليهما معاً, ثم بعد ذلك ستقوم بدمج وربط تلك الوحدات باستخدام الأداة al.exe لتشكيل تجميع واحد, والمثال التالي يوضح كيفية القيام بهذه الخطوات:

رمز:
csc /target:module /out:ClassLibrary1.netmodule ClassLibrary1.csvbc /target:module /out:ClassLibrary2.netmodule ClassLibrary2.vbvbc /target:module /out:Program.netmodule Program.vbal /target:winexe /out:Program.exe ClassLibrary1.netmodule ClassLibrary2.netmodule Program.netmodule
ولسوء الحظ هذه الطريقة تعمل فقط إذا كانت كافة أجزاء تطيقك على شكل كود مصدري او على شكل وحدات نمطية, أما إذا كنت تستخدم في تطبيقك مكونات خارجية Third Party Components مثل أدوات ActiveX فان تتمكن من إجراء الدمج بهذه الطريقة.

Microsoft ILMerge

هذه الأداة الرائعة من Microsoft والتي قام بتطويرها Mark Barnett وهي تتيح إمكانية دمج عدة تجميعات مع بعضها مهما كانت لغة البرمجة التي صممت بها, يمكنك تحميلها من الرابط التالي:https://www.microsoft.com/DOWNLOADS/d...displaylang=en



حتى نتمكن من استخدام هذه الأداة يجب أولاً ترجمة الكود المصدري إلى ملف التنفيذي ومعه ملفات DLL المرتبطة به, تماماً كما يفعل ذلك Visual Studio, ولك الخيار إما باستخدام Visual Studio أو الأداتين vbc.exe و csc.exe.

المثال التالي سيقوم بالمهمة نيابة عن Visual Studio

رمز:
csc /target:library /out:ClassLibrary1.dll ClassLibrary1.csvbc /target:library /out:ClassLibrary2.dll ClassLibrary2.vbvbc /target:winexe /out:Program.exe /reference:ClassLibrary1.dll,ClassLibrary2.dll Program.vb
هذا المثال سيقوم بإنشاء بإنشاء الملف التنفيذي Program.exe بشكل منفصل, والوحدتين ClassLibrary1 و ClassLibrary2 أيضا بشكل منفصل.

الآن يمكنك دمج هذه الأجزاء ضمن ملف تنفيذي واحد باستخدام ILMerge , وهذا مقال على ذلك:

رمز:
ilmerge /target:winexe /out:SelfContainedProgram.exe Program.exe ClassLibrary1.dll ClassLibrary2.dll
الأمر الرائع في هذه الأداة هو إمكانية دمج مكتبات COM Wrappers (ملفات COM Interop) مع تطبيقك وذلك قبل ععملية النشر, طبعاً مع الأخذ بعين الاعتبار أنه لايمكن دمج Third Party Components (ملفات DLL أو OCX ) مع الملف التنفيذي فهذا غير ممكن.

ملاحظات : هذه الأداة تعمل فقط على Framework 2.0, 3.0, 3.5, 4.0 وهي لاتدعم MONO أو ROTOR.


أداة ILMerge-GUI هي أداة مجانية ومفتوحة المصدر تستند إلى ILMerge
يقدمها موقع CodePlex وهي تعتمد على واجهة رسومية تسهل كثيرا عملية الدمج مع إمكانية اعتماد الخيارات التي توفرها ILMege





للتحميل https://www.codeplex.com/ILMergeGUI


نقل للفائدة

تمنياتي للجيمع بالتوفيق






وليد السند غير متواجد حالياً   رد مع اقتباس


قديم 2010-09-19, 20:09   رقم المشاركة :2
معلومات العضو
saidasd
عميد
إحصائية العضو





مستوى التقييم: 5
saidasd is on a distinguished road
كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


السلام عليكم ورحمة الله وبركاته

نشكرك


saidasd غير متواجد حالياً   رد مع اقتباس

قديم 2010-09-20, 01:53   رقم المشاركة :3
معلومات العضو
أسيرالشوق
الإدارة
 
الصورة الرمزية أسيرالشوق
إحصائية العضو





مستوى التقييم: 10
أسيرالشوق is on a distinguished road

مشاهدة أوسمتي

كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


جزاك الله خيرا وبارك فيك

شكرا لك على البرنامج الرائع


أسيرالشوق غير متواجد حالياً   رد مع اقتباس

قديم 2010-09-21, 22:08   رقم المشاركة :4
معلومات العضو
عوض الغامدي
دائما معكم
 
الصورة الرمزية عوض الغامدي
إحصائية العضو





مستوى التقييم: 10
عوض الغامدي is on a distinguished road

مشاهدة أوسمتي

كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


أحسنت .... الله يعطيك الف عافيه


عوض الغامدي غير متواجد حالياً   رد مع اقتباس

قديم 2010-09-23, 07:01   رقم المشاركة :5
معلومات العضو
ســـا مـــي
عميد
إحصائية العضو





مستوى التقييم: 8
ســـا مـــي is on a distinguished road
كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


جزاك الله خير ع النقل المفيد وشكراًلك يلغالى


ســـا مـــي غير متواجد حالياً   رد مع اقتباس

قديم 2010-09-23, 10:57   رقم المشاركة :6
معلومات العضو
وليد السند
الراعي الرسمي وداعم مسيرة عطاء المنتدى
 
الصورة الرمزية وليد السند
إحصائية العضو





مستوى التقييم: 9
وليد السند is on a distinguished road

مشاهدة أوسمتي

كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


بارك الله فيكم اخواني الكرام ,, تمنياتي للجميع بالتوفيق


وليد السند غير متواجد حالياً   رد مع اقتباس

قديم 2010-10-13, 20:11   رقم المشاركة :7
معلومات العضو
ali harbi
الإدارة
 
الصورة الرمزية ali harbi
إحصائية العضو





مستوى التقييم: 10
ali harbi is on a distinguished road

مشاهدة أوسمتي

إرسال رسالة عبر MSN إلى ali harbi
كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


مشكوووووور والله يعطيك العافيه

على الطرح الرااااائع
بارك الله فيك
تحياتي


ali harbi غير متواجد حالياً   رد مع اقتباس

قديم 2010-10-14, 02:42   رقم المشاركة :8
معلومات العضو
ابو هيثم

مشرف العمادة العامة

إحصائية العضو





مستوى التقييم: 8
ابو هيثم is on a distinguished road
كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


شكرا لك اخي العزيز
جزاكم الله خيرا على ما تقدمونه لنا من ابداع
دام لك التميز والتالق


ابو هيثم غير متواجد حالياً   رد مع اقتباس

قديم 2010-10-14, 11:54   رقم المشاركة :9
معلومات العضو
وليد السند
الراعي الرسمي وداعم مسيرة عطاء المنتدى
 
الصورة الرمزية وليد السند
إحصائية العضو





مستوى التقييم: 9
وليد السند is on a distinguished road

مشاهدة أوسمتي

كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


اقتباس : المشاركة الأصلية كتبت بواسطة ali_harbi اقرأ: [ مشاهدة المشاركة ]مشكوووووور والله يعطيك العافيه

على الطرح الرااااائع
بارك الله فيك
تحياتي


جزاك الله خيرا اخي الكريم ,, الف شكر على مرورك الرائع,وكلماتك الاروع, تمنياتي لك بالتوفيق


وليد السند غير متواجد حالياً   رد مع اقتباس

قديم 2010-10-14, 11:54   رقم المشاركة :10
معلومات العضو
وليد السند
الراعي الرسمي وداعم مسيرة عطاء المنتدى
 
الصورة الرمزية وليد السند
إحصائية العضو





مستوى التقييم: 9
وليد السند is on a distinguished road

مشاهدة أوسمتي

كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


اقتباس : المشاركة الأصلية كتبت بواسطة ابو هيثم اقرأ: [ مشاهدة المشاركة ]شكرا لك اخي العزيز
جزاكم الله خيرا على ما تقدمونه لنا من ابداع
دام لك التميز والتالق


جزاك الله خيرا اخي الكريم ,, الف شكر على مرورك الرائع,وكلماتك الاروع, تمنياتي لك بالتوفيق


وليد السند غير متواجد حالياً   رد مع اقتباس

قديم 2011-10-07, 23:07   رقم المشاركة :11
معلومات العضو
macif
عميد
إحصائية العضو





مستوى التقييم: 7
macif is on a distinguished road
كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي رد: الأن يمكنك دمج ملفات FrameWork أو أي أسمبلي مع برنامجك التنفيذي




macif غير متواجد حالياً   رد مع اقتباس

قديم 2013-01-06, 13:52   رقم المشاركة :12
معلومات العضو
wxwderbas
عميد
إحصائية العضو





مستوى التقييم: 0
wxwderbas is on a distinguished road
كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي رد: الأن يمكنك دمج ملفات FrameWork أو أي أسمبلي مع برنامجك التنفيذي


جزاك الله خيرا و بارك الله فيك


wxwderbas غير متواجد حالياً   رد مع اقتباس

قديم 2013-01-28, 11:46   رقم المشاركة :13
معلومات العضو
xABooD
عميد
إحصائية العضو





مستوى التقييم: 0
xABooD is on a distinguished road
كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي رد: الأن يمكنك دمج ملفات FrameWork أو أي أسمبلي مع برنامجك التنفيذي


مشكوووووور والله يعطيك الف عافيه


xABooD غير متواجد حالياً   رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

أدوات الموضوع إبحث في الموضوع
إبحث في الموضوع:

البحث المتقدم
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML متاحة

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


الساعة الآن 02:58

جميع المشاركات المكتوبة تعبّر عن وجهة نظر صاحبها .. ولا تعبر عن وجهة نظر إدارة المنتدى بأي شكل من الأشكال



ساهم معنا
تبرع لتساعد على الاستمرار ومواصلة تعريب البرامج للعالم العربي.
ساهم في صمود وبقاء ونشر اللغة العربية في العالم من أجل الأجيال القادمة.
تودع مبالغ التبرعات في احد الحسابات التالية
اسم البنك
رقم الحساب
بنك الراجحي _ من خارج السعودية
IBAN - SA2880000141608010128882
بنك الراجحى _ من داخل السعودية 141608010128882



Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2017 DragonByte Technologies Ltd.
جميع الحقوق محفوظة لموقع منتديات عميد التعريب 2010 - 2017 ©