05-10-12, 01:46 AM
كاتب الموضوع : 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"/>
وإذا لم يتم تحديد <supportedRuntime> فسيتم استخدام نفس رقم إصدار الفريموورك الذي تمت ترجمة التطبيق عليه
يتم استخدام <supportedRuntime> فقط في البرامج المبنية من خلال الفريموورك 1.1 وما بعد أما بالنسبة لبرامج الفريموورك 1.0 فيتم استخدام <requiredRuntime> عوضا عنها
والمثال التالي يوضح كبف يمكنك تحديد الاصدارات المدعومة من قبل التطبيق وذلك في ملف التعريف الخاص بالتطبيق
كود :
<configuration>
<startup>
<supportedRuntime version="v1.1.4322"/>
<supportedRuntime version="v1.0.3705"/>
</startup>
</configuration>