أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

ما المقصود بـ "DLL" ؟

انتهاء دعم نظام التشغيل Windows XP

لقد أنهت شركة Microsoft دعم Windows XP في 8 أبريل، 2014. وقد أثر هذا التغيير على تحديثات البرامج لديك وخيارات الأمان الخاصة بك. تعرف على ما يعنيه ذلك فيما يتعلق بك وكيفية الحفاظ على حمايتك.

انتهاء دعم Office 2003

لقد أنهت شركة Microsoft دعم Office 2003 في 8 أبريل، 2014. وقد أثر هذا التغيير على تحديثات البرامج لديك وخيارات الأمان الخاصة بك. تعرف على ما يعنيه ذلك فيما يتعلق بك وكيفية الحفاظ على حمايتك.

انتهي دعم Windows Server 2003 في 14 يوليو 2015!

أنهت شركة Microsoft دعم نظام التشغيل Windows Server 2003 في 14 يوليو 2015. لقد أثر هذا التغيير على تحديثات البرامج لديك وخيارات الأمان الخاصة بك. تعرف على ما يعنيه ذلك فيما يتعلق بك وكيفية الحفاظ على حمايتك.

هام: تمت ترجمة هذا المقال باستخدام برنامج ترجمة آلية لشركة مايكروسوفت بدلاً من الاستعانة بمترجم بشري. تقدم شركة مايكروسوفت كلاً من المقالات المترجمة بواسطة المترجمين البشر والمقالات المترجمة آليًا وبالتالي ستتمكن من الوصول إلى كل المقالات الموجودة في قاعدة المعرفة الخاصة بنا وباللغة الخاصة بك. بالرغم من ذلك، فإن المقالة المترجمة آليًا لا تكون دقيقة دائمًا وقد تحتوي على أخطاء إملائية أو لغوية أو نحوية، مثل تلك الأخطاء الصادرة عن متحدث أجنبي عندما يتحدث بلغتك. لا تتحمل شركة مايكروسوفت مسئولية عدم الدقة أو الأخطاء أو الضرر الناتج عن أية أخطاء في ترجمة المحتوى أو استخدامه من قبل عملائنا. تعمل شركة مايكروسوفت باستمرار على ترقية برنامج الترجمة الآلية

815065
الموجز
توضح هذه المقالة مكتبة ارتباط حيوي (DLL) و المتنوعة المشكلات المحتمل حدوثها عند استخدام مكتبات الارتباط الحيوي (DLL).

بعد ذلك، توضح هذه المقالة بعض المشكلات المتقدمة يجب الأخذ في الاعتبار عند تطوير مكتبات الارتباط الحيوي (DLL) الخاصة بك. في وصف ما DLL, تعرض هذه المقالة الطرق الارتباط الحيوي, تبعيات DLL نقاط إدخال مكتبة الارتباط الحيوي (DLL) ، لتصدير وظائف مكتبة الارتباط الديناميكي DLL أدوات استكشاف الأخطاء وإصلاحها.

تنتهي هذه المقالة مع مقارنة DLLs عالية المستوى التجميعات Microsoft .NET Framework.
مقدمة
ومن أجل أنظمة التشغيل Microsoft Windows المسردة في قسم "تنطبق على" كثير من وظائف نظام التشغيل توفرها مكتبات الارتباط الحيوي (DLL). بالإضافة إلى ذلك، عند تشغيل برنامج على أحد أنظمة التشغيل Windows هذه الكثير من وظائف البرنامج قد يتم توفير بواسطة مكتبات الارتباط الحيوي (DLL). على سبيل المثال، قد تحتوي بعض البرامج على العديد من الوحدات النمطية مختلفة و يحتوي كل وحدة نمطية في البرنامج ثم توزيع في مكتبات الارتباط الحيوي (DLL).

استخدام مكتبات الارتباط الديناميكي المساعدة ترقية modularization التعليمات البرمجية أو إعادة استخدام التعليمات البرمجية أو استخدام الذاكرة كفاءة ومن تقليل مساحة القرص. ولذلك، فإن نظام التشغيل والبرامج تحميل أسرع بتشغيلها بشكل أسرع و تأخذ مساحة أقل على الكمبيوتر.

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

وبواسطة Microsoft .NET Framework قد تم حلها لمعظم المسائل التبعية باستخدام التجميعات.
معلومات أخرى

ما المقصود بـ "DLL" ؟

هو ملف DLL مكتبة التي تحتوي على التعليمات البرمجية والبيانات التي يمكن استخدامها بواسطة برنامج واحد أو أكثر في نفس الوقت. على سبيل المثال، في أنظمة تشغيل Windows، DLL Comdlg32 ينفذ الشائعة المتعلقة مربع الحوار وظائف. لذلك، يمكن استخدام كل برنامج من برامج الوظائف الموجودة في مكتبة الارتباط الحيوي (DLL) لتنفيذ مربع حوار فتح. يساعد هذا في ترقية إعادة استخدام التعليمة البرمجية واستخدام الذاكرة كفاءة.

يمكن modularized إلى مكونات منفصلة برنامج باستخدام ملف DLL. على سبيل المثال، قد يكون أحد برامج محاسبة بيع بواسطة الوحدة النمطية. لكل وحدة نمطية يمكن تحميله ضمن البرنامج الأساسي في وقت التشغيل في حالة تثبيت تلك الوحدة النمطية. لأن منفصلة الوحدات النمطية وقت تحميل البرنامج بشكل أسرع ويتم تحميل وحدة نمطية فقط عندما يتم طلب هذه الوظيفة.

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

توضح القائمة التالية بعض الملفات التي يتم تنفيذ مثل مكتبات الارتباط الحيوي (DLL) في أنظمة تشغيل Windows:
  • ملفات عناصر تحكم ActiveX (.ocx)
    مثال عنصر تحكم ActiveX هو عنصر تحكم تقويم يتيح لك تحديد تاريخ من تقويم.
  • ملفات "لوحة التحكم" (.cpl)
    مثال الملف .cpl هو عنصر الموجود في "لوحة التحكم". يكون كل عنصر DLL متخصصة.
  • ملفات برنامج التشغيل (.drv) الجهاز
    مثال عن برنامج تشغيل الجهاز هو برنامج تشغيل طابعة الذي يتحكم الطباعة إلى طابعة.

ميزات مكتبة الارتباط الحيوي (DLL)

وتصف القائمة التالية بعض الميزات التي تم توفيرها عند استخدام برنامج DLL:
  • يستخدم موارد أقل
    عند استخدام عدة برامج نفس مكتبة الدالات ، DLL يمكن تقليل تكرار التعليمات البرمجية التي تم تحميلها على القرص وفي الذاكرة الفعلية. هذا يمكن أن يؤثر أداء برنامج قيد التشغيل في المقدمة وليس فقط ولكن أيضاً البرامج الأخرى التي تعمل على نظام تشغيل Windows بشكل كبير.
  • هندسة نمطي، Promotes
    يساعد ملف DLL ترقية تطوير البرامج نمطي. يساعدك ذلك في تطوير البرامج الكبيرة التي تتطلب إصدارات لغة متعددة أو برنامج يتطلب هندسة نمطي. مثال عن برنامج نمطي هو أحد برامج محاسبة يحتوي على العديد من الوحدات النمطية يمكن تحميله ديناميكياً في وقت التشغيل.
  • تثبيت ونشر eases
    عندما يحتاج دالة DLL داخل أحد التحديثات أو إصلاح ، النشر والتثبيت DLL لا يتطلب البرنامج relinked مع مكتبة الارتباط الحيوي (DLL). بالإضافة إلى ذلك، إذا برامج متعددة تستخدم نفس مكتبة الارتباط الحيوي (DLL) ، برامج متعددة سوف كافة يستفيد من التحديث أو الإصلاح. قد تحدث هذه المشكلة بشكل أكثر تكراراً عند استخدام DLL جهة خارجية والتي يتم بانتظام تحديث أو إصلاحها.

تبعيات DLL

عندما يستخدم دالة DLL في DLL آخر برنامج أو ملف DLL, يتم إنشاء تبعية. لذلك، لم يعد البرنامج مُضمن و البرنامج قد تواجه مشكلات إذا كانت مقطوعة التبعية. على سبيل المثال، قد لا يتم تشغيل البرنامج في حالة حدوث أحد الإجراءات التالية:
  • تتم ترقية مكتبة الارتباط الحيوي (DLL) تابعة إلى إصدار جديد.
  • تم إصلاح مكتبة الارتباط الحيوي (DLL) تابعة.
  • تتم الكتابة فوق مكتبة الارتباط الحيوي (DLL) تابعة مع إصدار سابق.
  • تتم إزالة مكتبة الارتباط الحيوي (DLL) تابعة من الكمبيوتر.
تُعرف هذه الإجراءات عادةً تعارضات DLL. إذا لم يتم فرض التوافق مع الإصدارات السابقة غير قد يعمل البرنامج بنجاح.

توضح القائمة التالية التغييرات التي تم تقديمها في نظام التشغيل Microsoft Windows 2000 وفي الإصدارات الأحدث من أنظمة تشغيل Windows للمساعدة في تقليل مشكلات التبعية:
  • حماية ملفات Windows
    حماية ملفات Windows في نظام التشغيل يمنع النظام مكتبات الارتباط الحيوي (DLL) من تحديث أو حذف عامل غير المصرح به. لذلك، عند محاولة تثبيت برنامج إزالة أو تحديث DLL ويتم تعريفه على أنه ملف DLL لنظام ستبدو حماية ملفات Windows عن توقيع رقمي صالح.
  • مكتبات الارتباط الحيوي (DLL) الخاصة
    تمكنك من مكتبات الارتباط الحيوي (DLL) الخاصة عزل برنامج من التغييرات التي تمت DLLs الخاصة المشتركة DLLs. استخدام معلومات الإصدار الخاصة أو ملف فارغ .local لفرض إصدار مكتبة الارتباط الحيوي (DLL) المستخدمة من قبل البرنامج. لاستخدام مكتبات الارتباط الحيوي (DLL) الخاصة تحديد موقع DLL الخاص بك في المجلد الجذر البرنامج. ثم، للبرامج جديد إضافة المعلومات الخاصة الإصدار إلى مكتبة الارتباط الحيوي (DLL). البرامج القديمة استخدام ملف .local فارغة. كل أسلوب بإعلام نظام التشغيل لاستخدام مكتبات الارتباط الحيوي (DLL) الخاصة الموجودة في المجلد الجذر البرنامج.

مكتبة الارتباط الحيوي (DLL) أدوات استكشاف الأخطاء وإصلاحها

تتوفر العديد من الأدوات المساعدة في استكشاف الأخطاء وإصلاحها في مكتبة الارتباط الحيوي (DLL). تعتبر الأدوات التالية بعض هذه الأدوات.

Walker التبعية

يمكن للأداة Walker تبعية التفحص بصورة متكررة للحصول على كافة ملفات DLL التابعة التي يتم استخدامها بواسطة برنامج. عندما تقوم بفتح برنامج في تبعية Walker Walker تبعية تنفيذ الاختبارات التالية:
  • يتحقق Walker التبعية المفقودة مكتبات الارتباط الحيوي (DLL).
  • يتحقق Walker تبعية ملفات البرامج أو مكتبات الارتباط الحيوي (DLL) غير صالحة.
  • يتحقق Walker التبعية التي دالات استيراد وتصدير تطابق الدالات.
  • يتحقق Walker التبعية أخطاء تبعية دائرية.
  • يتحقق Walker التبعية الوحدات النمطية غير صالحة لأن الوحدات النمطية لنظام تشغيل مختلف.
يمكنك باستخدام Walker تبعية توثيق DLLs التي تستخدم أحد برامج. قد يساعد هذا في منع مشاكل DLL التي قد تحدث في المستقبل وتصحيحها. يوجد Walker التبعية في الدليل التالي عند تثبيت Microsoft Visual Studio 6.0:
drive\Program Files\Microsoft Studio\Common\Tools المرئية

مكتبة الارتباط الحيوي (DLL) Solver مشكلة العالمي

يتم استخدام أداة DLL Solver مشكلة العالمي (DUPS) تدوين مقارنة المستندات, وعرض المعلومات DLL. توضح القائمة التالية المساعدة التي تشكل الأداة DUPS:
  • Dlister.exe
    هذه الأداة المساعدة تعداد DLLs على الكمبيوتر وقم بتسجيل المعلومات إلى ملف نصي أو ملف قاعدة بيانات.
  • Dcomp.exe
    هذه الأداة المساعدة مقارنة DLLs التي تم سردها في ملفين النص ويتم ينتج عن ملف النصي ثالث الذي يحتوي على الاختلافات.
  • Dtxt2DB.exe
    هذه الأداة المساعدة بتحميل الملفات النصية التي يتم إنشاؤها باستخدام الأداة المساعدة Dlister.exe والأداة المساعدة Dcomp.exe إلى قاعدة البيانات dllHell.
  • DlgDtxt2DB.exe
    توفر هذه الأداة المساعدة مستخدم رسومية (GUI) واجهة إصدار الأداة المساعدة Dtxt2DB.exe.
لمزيد من المعلومات حول الأداة DUPS انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف لـ Microsoft" (ينتقل بك هذا الارتباط إلى صفحة قد يكون محتواها كله أو جزء منه باللغة الإنجليزية):
247957استخدام DUPS.exe لحل مشاكل التوافق مكتبة الارتباط الحيوي (DLL)

تعليمات DLL قاعدة البيانات

يساعدك قاعدة بيانات "مكتبة الارتباط الحيوي (DLL) تعليمات" موقع إصدارات معينة من DLLs التي تم تثبيتها بواسطة منتجات برامج Microsoft. لمزيد من المعلومات حول قاعدة بيانات "مكتبة الارتباط الحيوي (DLL) تعليمات" قم بزيارة موقع Microsoft التالي على الويب:

تطوير مكتبة الارتباط الحيوي (DLL)

يصف هذا القسم المشاكل ومتطلبات يجب الأخذ في الاعتبار عند تطوير مكتبات الارتباط الحيوي (DLL) الخاصة بك.

أنواع ملفات DLL

عند تحميل مكتبة الارتباط الحيوي (DLL) في أحد تطبيقات تمكنك أسلوبين من الارتباط استدعاء وظائف مكتبة الارتباط الحيوي (DLL) الذي تم تصديره. هي أسلوبين من الارتباط ربط حيوي وقت تحميل وقت التشغيل الربط الحيوي.
ربط ديناميكي وقت التحميل
في وقت التحميل الديناميكية ربط, تطبيق إجراء الاستدعاءات صريحة دالات DLL المصدرة مثل والوظائف المحلية. لاستخدام الارتباط الديناميكي وقت التحميل توفير ملف رأس (.h) ويتم ملف مكتبة (.lib) استيراد عند التحويل البرمجي والارتباط التطبيق. عند القيام بذلك، يوفر برنامج الربط (linker) النظام مع المعلومات المطلوبة تحميل مكتبة الارتباط الحيوي (DLL) الذي تم تصديره مواقع دالة DLL وحلها في وقت التحميل.
وقت التشغيل الربط الحيوي
في وقت التشغيل الحيوية ربط ، أحد تطبيقات باستدعاء الدالة LoadLibrary أو دالة LoadLibraryEx تحميل مكتبة الارتباط الحيوي (DLL) في وقت التشغيل. بعد أن يتم بنجاح تحميل مكتبة الارتباط الحيوي (DLL) ، استخدم الدالة GetProcAddress للحصول على عنوان دالة DLL المصدرة التي تريد الاتصال به. عند استخدام الارتباط الديناميكي وقت لا تحتاج أحد ملفات مكتبة استيراد.

توضح القائمة التالية معايير التطبيق إلى ربط حيوي وقت تحميل الاستخدام و متى يمكن استخدام وقت التشغيل الربط الحيوي:
  • بدء تشغيل الأداء
    إذا كان الأداء بدء التشغيل الأولي التطبيق الهامة, يجب عليك استخدام وقت التشغيل الربط الحيوي.
  • لتسهيل استخدام
    تشبه دالات DLL الذي تم تصديره في وقت التحميل الديناميكية ربط ، والوظائف المحلية ". يسهل ذلك عملية الاستدعاء هذه الدالات.
  • منطق التطبيق
    في وقت التشغيل الحيوية ربط, يمكن التفرع أحد تطبيقات تحميل الوحدات النمطية مختلفة كما هو مطلوب. هذا مهم عند تطوير إصدارات متعددة اللغات.

نقطة إدخال مكتبة الارتباط الحيوي (DLL)

عند إنشاء ملف DLL يمكنك بشكل اختياري تحديد دالة نقطة إدخال. يتم استدعاء عندما مؤشرات الترابط أو العمليات ترفق نفسها إلى مكتبة الارتباط الحيوي (DLL) الدالة نقطة الإدخال أو فصل أنفسهم من مكتبة الارتباط الحيوي (DLL). يمكنك استخدام الدالة نقطة إدخال تهيئة بنية البيانات أو إتلاف بنيات البيانات كما هو مطلوب بواسطة مكتبة الارتباط الحيوي (DLL). بالإضافة إلى ذلك، في حالة ذات مؤشرات ترابط التطبيق يمكنك استخدام مؤشر ترابط للتخزين المحلي (TLS) لتخصيص الذاكرة الخاصة كل مؤشر ترابط في دالة نقطة الإدخال. التعليمة البرمجية التالية مثال عن وظيفة نقطة إدخال ملف DLL.
BOOL APIENTRY DllMain(HANDLE hModule,	// Handle to DLL module	DWORD ul_reason_for_call,	// Reason for calling function	LPVOID lpReserved ) // Reserved{	switch ( ul_reason_for_call )	{		case DLL_PROCESS_ATTACHED:		// A process is loading the DLL.		break;		case DLL_THREAD_ATTACHED:		// A process is creating a new thread.		break;		case DLL_THREAD_DETACH:		// A thread exits normally.		break;		case DLL_PROCESS_DETACH:		// A process unloads the DLL.		break;	}	return TRUE;}
عند نقطة إدخال الدالة ترجع قيمة FALSE لن يتم تشغيل التطبيق في حالة استخدام الارتباط الديناميكي وقت التحميل. إذا كنت تستخدم وقت التشغيل الربط الحيوي, لن يتم تحميل DLL الفردية.

يجب تنفيذ المهام التهيئة بسيطة فقط الدالة نقطة إدخال وتقوم يجب استدعاء أي تحميل DLL أو إنهاء دالات أخرى. على سبيل المثال، في دالة نقطة الإدخال الذي يجب لا أو غير مباشر استدعاء دالة LoadLibrary أو دالة LoadLibraryEx. بالإضافة إلى ذلك، يجب أن لا الاتصال الدالة FreeLibrary عند إنهاء العملية.

ملاحظة في تطبيقات ذات مؤشرات ترابط تأكد من أن الوصول إلى مكتبة الارتباط الحيوي (DLL) مزامنة البيانات العمومية (مسار التنفيذ الآمن) لتجنب عطب في البيانات الممكنة. للقيام بذلك، استخدم TLS لتوفير بيانات فريدة لكل مؤشر ترابط.

تصدير دالات DLL

لتصدير دالات DLL يمكنك إما إضافة كلمة أساسية دالة إلى دالات DLL الذي تم تصديره أو إنشاء ملف تعريف (.def) الوحدة نمطية يسرد دالات DLL الذي تم تصديره.

لاستخدام كلمة أساسية دالة يجب أن تقوم بتعريف كل دالة المطلوب تصديرها باستخدام الكلمة الأساسية التالية:
__declspec(dllexport)
لاستخدام دالات DLL الذي تم تصديره في التطبيق يجب أن تقوم بتعريف كل دالة الذي تريد استيراده بواسطة الكلمة الأساسية التالية:
__declspec(dllimport)
بشكل عام، يمكن استخدام ملف الرأس يحتوي على عبارة تعريف عبارة ifdef لفصل بيان التصدير و عبارة الاستيراد.

يمكنك أيضاً استخدام ملف تعريف الوحدة نمطية إلى تعريف المتغير الذي تم تصديره دالات DLL. عند استخدام ملف تعريف الوحدة نمطية ليس لديك لإضافة الكلمة الأساسية الدالة إلى دالات DLL الذي تم تصديره. في ملف تعريف الوحدة النمطية بتعريف بيان المكتبة وعلى العبارة عن ملف مكتبة الارتباط الحيوي (DLL). تعمل التعليمة البرمجية التالي مثالاً على ملف تعريف.
// SampleDLL.def//LIBRARY "sampleDLL"EXPORTS  HelloWorld

مكتبة الارتباط الحيوي (DLL) عينة والتطبيق

في Microsoft Visual C++ 6.0, يمكنك إنشاء ملف DLL بواسطة تحديد نوع المشروع مكتبة ارتباط حيوي Win32 أو نوع المشروع AppWizard MFC (dll).

تعمل التعليمة البرمجية التالي مثالاً على ملف DLL الذي تم إنشاؤه في Visual C++ باستخدام نوع المشروع مكتبة ارتباط حيوي Win32.
// SampleDLL.cpp//#include "stdafx.h"#define EXPORTING_DLL#include "sampleDLL.h"BOOL APIENTRY DllMain( HANDLE hModule,                        DWORD  ul_reason_for_call,                        LPVOID lpReserved					 ){    return TRUE;}void HelloWorld(){	MessageBox( NULL, TEXT("Hello World"), TEXT("In a DLL"), MB_OK);}
// File: SampleDLL.h//#ifndef INDLL_H#define INDLL_H#ifdef EXPORTING_DLLextern __declspec(dllexport) void HelloWorld() ;#elseextern __declspec(dllimport) void HelloWorld() ;#endif#endif
تعمل التعليمة البرمجية التالي مثالاً على مشروع تطبيقات Win32 باستدعاء دالة DLL تم تصديرها في مكتبة الارتباط الحيوي (DLL) SampleDLL.
// SampleApp.cpp //#include "stdafx.h"#include "sampleDLL.h"int APIENTRY WinMain(HINSTANCE hInstance,                     HINSTANCE hPrevInstance,                     LPSTR     lpCmdLine,                     int       nCmdShow){ 		HelloWorld();	return 0;}
ملاحظة في وقت التحميل الديناميكية ربط, عليك ربط SampleDLL.lib في المكتبة الاستيراد الذي يتم إنشاؤه عند إنشاء SampleDLL في المشروع.

في وقت التشغيل الحيوية ربط, يمكنك استخدام تعليمة برمجية مشابهة لما يلي تصدير رمز SampleDLL.dll في استدعاء دالة DLL.
...typedef VOID (*DLLPROC) (LPTSTR);...HINSTANCE hinstDLL;DLLPROC HelloWorld;BOOL fFreeDLL;hinstDLL = LoadLibrary("sampleDLL.dll");if (hinstDLL != NULL){    HelloWorld = (DLLPROC) GetProcAddress(hinstDLL, "HelloWorld");    if (HelloWorld != NULL)        (HelloWorld);    fFreeDLL = FreeLibrary(hinstDLL);}...
عند تجميع والارتباط التطبيق SampleDLL يبحث Windows نظام تشغيل على مكتبة الارتباط الديناميكي SampleDLL في المواقع التالية بهذا الترتيب:
  1. مجلد التطبيق
  2. المجلد الحالي
  3. مجلد نظام Windows

    ملاحظة ترجع الدالة GetSystemDirectory مسار مجلد نظام Windows.
  4. مجلد Windows

    ملاحظة ترجع الدالة GetWindowsDirectory مسار مجلد Windows.

تجميع .NET Framework

وبواسطة Microsoft .NET و .NET Framework قد تم حلها معظم المشاكل المقترنة مع مكتبات الارتباط الحيوي (DLL) باستخدام التجميعات. يتم تجميع وحدة منطقية من الوظائف التي يتم تنفيذها ضمن التحكم وقت .NET تشغيل اللغة العامة (CLR). تجميع موجود فعلياً شكل ملف .dll أو ملف .exe. ومع ذلك، داخليًا تجميع يختلف جداً Microsoft Win32 DLL.

يحتوي ملف تجميع على ملف تجميع الظاهر على نوع بيانات تعريف رمز اللغة المتوسطة (MSIL) Microsoft والموارد الأخرى. يحتوي ملف التجميع الظاهر على بيانات تعريف التجميع الذي يوفر كافة المعلومات المطلوبة الخاصة بالتجميع أن self-describing. يتم تضمين المعلومات التالية في ملف التجميع الظاهر:
  • اسم التجميع
  • معلومات الإصدار
  • معلومات البيانات الموروثة
  • معلومات الاسم المميز
  • قائمة التجميع الملفات
  • نوع معلومات مرجعية
  • معلومات التجميع المشار إليه و التابعة
لا يمكن تنفيذ التعليمات البرمجية MSIL المضمنة في التجميع مباشرة. بدلاً من ذلك، تتم إدارتها بتنفيذ التعليمات البرمجية MSIL خلال CLR. عند إنشاء تجميع التجميع بشكل افتراضي خاص بالتطبيق. إنشاء تجميع مشترك يتطلب تعيين اسم المميز للتجميع ومن ثم نشر التجميع في ذاكرة التخزين المؤقتة للتجميع العمومي.

توضح القائمة التالية بعض ميزات التجميعات مقارنة ميزات Win32 DLL:
  • self-describing
    عند إنشاء تجميع يتم تضمين كافة المعلومات المطلوبة لإجراء CLR لتشغيل التجميع في ملف التجميع الظاهر. يحتوي ملف التجميع الظاهر على قائمة التجميعات التابعة. لذلك، يمكن الاحتفاظ CLR لمجموعة متناسقة من التجميعات التي يتم استخدامها في التطبيق. في DLLs Win32 لا يمكن المحافظة على تناسق بين مجموعة من مكتبات الارتباط الحيوي (DLL) المستخدمة في أحد تطبيقات عند استخدامك DLLs المشتركة.
  • تعيين إصدار
    في ملف تجميع معلومات الإصدار المسجلة ويتم فرضها بواسطة CLR. بالإضافة إلى ذلك، نُهج الإصدار تسمح لك فرض استخدام الإصدار خاصة. في Win32 مكتبات الارتباط الحيوي (DLL) ، لا يمكن فرض تعيين الإصدار بواسطة نظام التشغيل. بدلاً من ذلك، يجب التأكد من أن مكتبات الارتباط الحيوي (DLL) غير متوافقة مع السابقة.
  • نشر جنباً إلى جنب
    يعتمد التجميعات جنباً إلى جنب النشر. يمكن استخدام أحد التطبيقات إصدار واحد من تجميع ثم يمكن لتطبيق آخر استخدام إصدار مختلف من تجميع. بدء التشغيل في نظام التشغيل Windows 2000, يتم اعتماد نشر جنباً إلى جنب بواسطة تحديد موقع DLL في مجلد التطبيق. بالإضافة إلى ذلك، حماية ملفات Windows يمنع النظام DLLs من الكتابة فوق أو استبدال عامل غير المصرح به.
  • self-containment وعزل
    أحد تطبيقات التي تم تطويرها باستخدام تجميع يمكن مُضمن المعزول من تطبيقات أخرى يتم تشغيلها على الكمبيوتر. تساعدك هذه الميزة في إنشاء تثبيتات تأثير صفر.
  • التنفيذ
    يتم تشغيل تجميع ضمن أذونات الأمان التي تم توفيرها في ملف التجميع الظاهر التي يتم التحكم فيها من قبل CLR.
  • لغة مستقلة
    يمكن أن يتم تطوير تجميع باستخدام إحدى اللغات المدعمة .NET. على سبيل المثال، يمكنك وضع تجميع في Microsoft Visual C# ، واستخدام ثم التجميع في .NET Visual Basic Microsoft المشروع.
مراجع
لمزيد من المعلومات حول مكتبات الارتباط الحيوي (DLL) و .NET Framework التجميعات ، قم بزيارة موقعي Microsoft التاليين على الويب:
تعارضات مكتبة الارتباط الحيوي (DLL)
http://msdn2.microsoft.com/en-us/library/ms811694.aspx

تطبيق مشاركة في تطبيقات مكون جنباً إلى جنب
http://msdn2.microsoft.com/en-us/library/ms811700.aspx

كيفية إنشاء خدمة معزول والتطبيقات التجميعات جنباً إلى جنب لنظام التشغيل Windows XP
http://msdn2.microsoft.com/en-us/library/ms997620.aspx

تبسيط نشر DLL يتعارض مع برنامج .NET Framework وحلها
http://msdn2.microsoft.com/en-us/netframework/aa497268.aspx

دليل المطور .NET Framework: التجميعات
http://msdn2.microsoft.com/en-us/library/hk5f40ct(vs.71).aspx

وقت التشغيل الربط الحيوي
http://msdn2.microsoft.com/en-us/library/ms685090.aspx

مؤشر ترابط للتخزين المحلي
http://msdn2.microsoft.com/en-us/library/ms686749.aspx
مكتبة الارتباط الحيوي (DLL) EXE MSIL HELL DOTNET Win32

تحذير: تمت ترجمة هذا المقال تلقائياً

خصائص

رقم الموضوع: 815065 - آخر مراجعة: 12/04/2007 03:23:29 - المراجعة: 5.11

  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Datacenter x64 Edition
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard x64 Edition
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows 2000 Server
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows NT 4.0
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows 98 Second Edition
  • Microsoft Visual Studio .NET 2003 Professional Edition
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Academic Edition
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Visual Studio .NET 2002 Academic Edition
  • Microsoft Visual Studio 6.0 Professional Edition
  • Microsoft Visual Studio 6.0 Enterprise Edition
  • Microsoft Visual Studio 2005 Express Edition
  • Microsoft Visual Studio 2005 Professional Edition
  • Microsoft Visual Studio 2005 Standard Edition
  • Microsoft Office XP Professional Edition
  • Microsoft Office XP Small Business Edition
  • Microsoft Office XP Standard Edition
  • Microsoft Office Home Edition 2003
  • Microsoft Office Professional Edition 2003
  • Microsoft Office Small Business Edition 2003
  • Microsoft Office Standard Edition 2003
  • kbmt kbxplatform kbtshoot kbdebug kbdll kbinfo KB815065 KbMtar
تعليقات
html>