ポータブル サブセット プロジェクトでサービス参照を追加する
ポータブル サブセット プロジェクトにより、複数の .NET 実装 (デスクトップ、Silverlight、Windows Phone、Xbox) をサポートしながら、.NET アセンブリのプログラマが 1 つのソース ツリーを保持しつつ、システムを構築できるようになります。 ポータブル サブセット プロジェクトでは、任意の .NET 実装上で使用できる .NET アセンブリであるポータブル ライブラリのみを参照します。
サービス参照の追加の詳細
ポータブル サブセット プロジェクトでサービス参照を追加する場合は、次の制限が適用されます。
XmlSerializer では、文字エンコーディングのみを使用できます。 SOAP エンコーディングを使用すると、インポート中にエラーが発生します。
DataContractSerializer シナリオを使用するサービスの場合、再利用された型をポータブル サブセットからのみ受け取ることを確認するために、データ コントラクト サロゲートが提供されます。
ポータブル ライブラリでサポートされていないバインド (BasicHttpBinding、トランザクション フロー、信頼できるセッション、または MTOM エンコーディングがない WSHttpBinding、および等価のカスタム バインドを除くすべてのバインド) に依存するエンドポイントは無視されます。
メッセージ ヘッダーは、インポート前にすべての操作におけるすべてのメッセージの説明から削除されます。
非ポータブル属性 (DesignerCategoryAttribute、SerializableAttribute、および TransactionFlowAttribute) は、生成されたクライアント プロキシ コードから削除されます。
非ポータブル プロパティ (ProtectionLevel、SessionMode、IsInitiating、IsTerminating) は、ServiceContractAttribute、OperationContractAttribute、および FaultContractAttribute から削除されます。
すべてのサービス操作は、クライアント プロキシ上で非同期操作として生成されます。
非ポータブル型を使用する生成済みのクライアント コンストラクターは削除されます。
CookieContainer インスタンスは、生成されたクライアントで公開されます。
コード ジェネレーターのアセンブリとバージョンを示すコメント "
// This code was auto-generated by Microsoft.VisualStudio.Portable.AddServiceReference, version 1.0.0.0
" がファイルの先頭に挿入されます。ISerializable インターフェイスはサポートされません。
Net.Tcp および PollingDuplex バインドはサポートされません。
DataContractSerializer は常にエラーに対して使用されます。
ポータブル サブセット プロジェクトでは IsWrapped はサポートされません。