سؤال

لقد بحثت مؤخرًا في استهداف ملف تعريف عميل .NET لتطبيق WPF الذي أقوم بإنشائه.ومع ذلك، شعرت بالإحباط عندما لاحظت أن ملف تعريف العميل صالح فقط لتكوينات نظام التشغيل التالية:

  • ويندوز إكس بي SP2+
  • ويندوز سيرفر 2003 يحرر: يبدو لن يتم تثبيت ملف تعريف العميل على Windows Server 2003.

بالإضافة إلى ذلك، ملف تعريف العميل هو لا صالحة لإصدارات x64 أو ia64؛ولن يتم تثبيته أيضًا إذا تم تثبيت أي إصدار سابق من .NET Framework.

أتساءل عما إذا كان الجهد المبذول في إضافة تكوينات نظام التشغيل الإضافية إلى مصفوفة الاختبار يستحق كل هذا الجهد.هل هناك أي مقاييس متاحة توضح النسبة المئوية للمستخدمين الذين يمكن أن يستفيدوا من الملف الشخصي للعميل؟أعتقد أنه بمجرد تثبيت .NET Framework، يتم تمرير معلومات إضافية إلى خادم الويب كجزء من طلب الويب للإشارة إلى أن إطار العمل متاح.من المؤكد أنني أتخيل أن مستخدمي Windows XP SP2 الذين ليس لديهم برنامج .NET Framework المثبت سيكونون عددًا كبيرًا من الأشخاص.سيكون بعد ذلك سؤالًا حول ما إذا كان طلبي يستهدف هؤلاء الأفراد على وجه التحديد.

هل قرر أي شخص آخر ما إذا كان الأمر يستحق بذل جهد إضافي لاستهداف هؤلاء المستخدمين المحددين؟

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

هل كانت مفيدة؟

المحلول

في النهاية، لن يؤذي أي مستخدم إذا قمت باستهداف ملف تعريف العميل.وذلك لأن ملف تعريف العميل هو مجموعة فرعية من الإصدار .net Framework v3.5 sp1، وإذا كان الإصدار v3.5 sp1 مثبتًا بالفعل، فلن تحتاج إلى تثبيت أي شيء.

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

تفكيري هو أنه ما لم يكن عليك استخدام التجميعات غير الموجودة في ملف تعريف العميل، فيجب عليك استهدافها.

بالنسبة لمتطلبات نظام التشغيل، لن يعمل WPF على نظام ما قبل XP sp2، لذلك إذا كنت بحاجة إلى التشغيل على أنظمة تشغيل أخرى، فسيتعين عليك استخدام WinForms على أي حال.

يحرر:

على آي إي، نعم.يرسل إصدار .NET Framework كجزء من سلسلة UA، على سبيل المثال:

في الواقع كذلك الأمر بالنسبة لـ FF3+3.5sp1:

موزيلا/5.0 (ويندوز؛ش؛ويندوز إن تي 6.0؛أون-الولايات المتحدة;rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1 (.NET CLR 3.5.30729)

نصائح أخرى

أعتقد أنه من المهم استهداف أكبر عدد ممكن من المستخدمين، هل فكرت يومًا في شحن تطبيقك دون أي تعليمات برمجية مُدارة على الإطلاق؟يمكنك تحويل تطبيقاتك المُدارة إلى تعليمات برمجية خالصة للجهاز باستخدام أدوات مثل http://www.xenocode.com/ أو http://www.remotesoft.com/linker/ لذلك لن تحتاج إلى أي إطار عمل .NET على الأجهزة العميلة على الإطلاق.

أعتقد أنه بمجرد تثبيت .NET Framework، يتم تمرير معلومات إضافية إلى خادم الويب كجزء من طلب الويب للإشارة إلى أن إطار العمل متاح.

على آي إي، نعم.يرسل إصدار .NET Framework كجزء من سلسلة UA، على سبيل المثال:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; .NET CLR 2.0.50727).
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top