Warum kann ich nicht auf system.net.sockets in einer tragbaren Klassenbibliothek mit Xamarin verweisen?
-
21-12-2019 - |
Frage
Ich versuche, system.net.s.sockets API in einer tragbaren Klassenbibliothek zu verwenden, damit meine Projekte den Code für Sockelverbindungen wiederverwendet werden können.Ich kann diesen Namespace jedoch nicht in meinem Code verweisen.
Wie ich es verstehe, beschränken Sie die PCLs Sie auf Baugruppen, die auf allen gezielten Plattformen verfügbar sind.Aber ich zielen auf iOS, Android und .NET 4.5 (unter Verwendung von Xamarin), und alle davon sollten die system.dll-Versammlung enthalten, die die API enthält.Was vermisse ich?
Lösung
Wie es gerade ist, gibt es
- .NET Framework (4/403 / 4.5 / 4.5.1)
- xamarin.android
- xamarin.os
Wenn Sie beispielsweise versuchen, eine tragbare Klassenbibliothek mit nur diesen Zielen zu definieren, fügt das Projekt PCL-Profil automatisch das Silverlight 5 Ziel hinzu:
Obwohl silverlight 5 selbst einige der system.net.saktivierte Namespace-Typen , keiner dieser Typen wurde in ein beliebiges PCL-Profil übertragen. Soweit ich erkennen kann, ist die Funktionalität von PCL system.net auf das HTTP-Netzwerk beschränkt.
Wenn beispielsweise .NET Framework 4.5 ausgewählt ist, entspricht das PCL-Profil 24, für das der Inhalt system.net.dll wie folgt lautet: < / p>
Andere Tipps
Verwenden der erweiterten PCL-Entwicklung aka "Köder und Schalter" Sie können dies möglicherweise tun
siehe Link