لماذا لا يمكنني الرجوع إلى System.Net.Sockets في مكتبة فئة محمولة باستخدام Xamarin؟

StackOverflow https://stackoverflow.com//questions/24045075

  •  21-12-2019
  •  | 
  •  

سؤال

أحاول استخدام System.Net.Sockets API في مكتبة فئة محمولة حتى تتمكن مشاريعي من إعادة استخدام التعليمات البرمجية لاتصالات المقبس.لكن لا يمكنني الإشارة إلى مساحة الاسم هذه في الكود الخاص بي.

كما أفهمها، تقيدك PCLs بالتجميعات المتوفرة على جميع الأنظمة الأساسية المستهدفة.لكنني أستهدف أنظمة التشغيل iOS وAndroid و.Net 4.5 (باستخدام Xamarin)، وكلها يجب أن تحتوي على مجموعة system.dll التي تحتوي على واجهة برمجة التطبيقات (API).ماذا ينقصني؟

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

المحلول

كما هو الحال الآن، هناك لا استهداف ملف تعريف PCL فقط

  • إطار عمل .NET (4/4.03/4.5/4.5.1)
  • Xamarin.Android
  • Xamarin.iOS

إذا حاولت على سبيل المثال تحديد مكتبة فئة محمولة بهذه الأهداف فقط، فسيقوم ملف تعريف PCL للمشروع تلقائيًا بإضافة ملف سيلفر لايت 5 هدف:

Silverlight 5 automatically added to PCL

بالرغم من سيلفر لايت 5 في حد ذاته يدعم بعضًا من أنواع مساحة الاسم System.Net.Sockets, ، لم يتم نقل أي من هذه الأنواع إلى أي ملف تعريف PCL.بقدر ما أستطيع أن أقول، PCL System.Net تقتصر الوظيفة على شبكة HTTP.

على سبيل المثال، إذا صافي الإطار 4.5 تم تحديده، وسوف يتوافق هذا مع ملف تعريف PCL 24، الذي سيتم تعيين الملف عليه System.Net.dll المحتويات هي كما يلي:

enter image description here

نصائح أخرى

باستخدام تطوير PCL المتقدمة AKA "الطعم والتبديل" قد تكون قادرا على القيام بذلك

شاهد رابط

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top