منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيفية استخدام ملف التعريف الخاص بالتطبيق لاستهداف نسخة معينة من الفريموورك- ينطبق على
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كاتب الموضوع : samerselo

هذا من مواضيعي القديمة جدا في منتدى الفريق العربي و ذكرني تساؤل لأحد الإخوة في المنتدى بهذا الموضوع وسأقوم بنقله كما ورد هناك لذا أرجو أن تتحملوا إعادة طرحي لموضوع قديم



يمكنك استخدام ملف التعريف الخاص بالتطبيق لتحديد ماهي نسخ الفريموورك التي يعتمد عليها التطبيق أو واحد أو أكثر من المكونات التي يستخدمها حيث يتوجب عليك تحديد رقم الاصدار ورقم البناء لكل من نسخ الفريموورك التي تريد دعمها باستخدام <supportedRuntime> أو <requiredRuntime> في ملف التعريف الخاص بالتطبيق

حيث يتم تحديد رقم نسخة الفريموورك التي يعتمد عليها التطبيق كما يلي:

- إذا كانت نسخة الفريموورك التي يعتمد عليها موجودة على الكمبيوتر الذي سيشغل التطبيق سيتم استخدامها من قبل التطبيق تلقائيا

- وإن لم تكن نسخة الفريموورك موجودة على ذلك الكمبيوتر ولم تقم بتحديد قيمة العنصر <supportedRuntime> فسيتم تشغيل التطبيق على أحدث نسخة من الفريموورك الموجودة على الجهاز

- وإن لم تكن نسخة الفريموورك موجودة على ذلك الكمبيوتر وملف التعريف الخاص بالتطبيق يحتوي على قيمة للعنصر <supportedRuntime> فالتطبيق سيتم تشغيله على أحدث نسخة من الفريموورك محددة في ملف التعريف الخاص بالتطبيق

كما يجدر الانتباه إلى أن ملف التعريف الخاص بالتطبيق يجب أن يكون له نفس اسم التطبيق ولكن يحمل اللاحقة .config فعلى سبيل المثال تطبيق يسمى MyExecutable.exe يجب أن يكون له ملف تعريف باسم MyExecutable.exe.config

يمكنك تعريف التطبيق ليعمل على نفس النسخة التي تم إنشاؤه عليها أو على نسخة أحدث فعلى سبيل المثال تطبيق تم إنشاؤه على الفريموورك 1.0 يمكنه العمل على أي من النسخ 1.0 أو 1.1 أو 2.0 أو عليها جميعا ولكن تطبيق تم إنشاؤه على الفريموورك 2.0 سيعمل فقط على الفريموورك 2.0

استهداف الفريموورك 1.1

قسم ملف التعريف المذكور في هذا القسم يوجه تطبيقا بني باستخدام الفريموورك 1.0 ليستخدم الفريموورك 1.1 وذلك في الحالات التالية:

- إذا كانت الفريموورك 1.1 موجودة
- إذا كانت كلتا نسختي الفريموورك 1.0 و 1.1 موجودتان

وإن كانت الفريموورك 1.0 فقط موجودة سيعمل البرنامج بسبب أن الفريموورك 1.0 لا تتعرف على العنصر <supportedRuntime> وسيستخدم النسخة الموجودة في ترويسة الملف التنفيذي للتطبيق


كود :
<?xml version ="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v1.1.4322" />
</startup>
</configuration>
كيفية تحديد نسخة الفريموورك الصحيحة للمجمع

نستخدم <supportedRuntime> في ملف التعريف الذي يكون في العادة بصيغة XML حيث تحدد هذه القيمة ما هي نسخة الفريموورك التي يعمل عليها التطبيق وهي معتمدة في النسخة 1.1 وما بعد
وتكون صيغتها

كود :
<supportedRuntime version="runtime version"/>
و يكون version عبارة عن سلسلة نصية تحدد ما هي نسخة الفريموورك التي يعتمد عليها التطبيق وهذه السلسلة النصية يجب أن تماثل اسم المجلد الموجود في المجلد الجذر للمجلد المنصب عليه الفريموورك

وإذا لم يتم تحديد <supportedRuntime> فسيتم استخدام نفس رقم إصدار الفريموورك الذي تمت ترجمة التطبيق عليه

يتم استخدام <supportedRuntime> فقط في البرامج المبنية من خلال الفريموورك 1.1 وما بعد أما بالنسبة لبرامج الفريموورك 1.0 فيتم استخدام <requiredRuntime> عوضا عنها

والمثال التالي يوضح كبف يمكنك تحديد الاصدارات المدعومة من قبل التطبيق وذلك في ملف التعريف الخاص بالتطبيق

كود :
<configuration>
<startup>
<supportedRuntime version="v1.1.4322"/>
<supportedRuntime version="v1.0.3705"/>
</startup>
</configuration>