ポータブル サブセット プロジェクトでサービス参照を追加する

ポータブル サブセット プロジェクトにより、複数の .NET 実装 (デスクトップ、Silverlight、Windows Phone、Xbox) をサポートしながら、.NET アセンブリのプログラマが 1 つのソース ツリーを保持しつつ、システムを構築できるようになります。 ポータブル サブセット プロジェクトでは、任意の .NET 実装上で使用できる .NET アセンブリであるポータブル ライブラリのみを参照します。

サービス参照の追加の詳細

ポータブル サブセット プロジェクトでサービス参照を追加する場合は、次の制限が適用されます。

  • XmlSerializer では、文字エンコーディングのみを使用できます。 SOAP エンコーディングを使用すると、インポート中にエラーが発生します。

  • DataContractSerializer シナリオを使用するサービスの場合、再利用された型をポータブル サブセットからのみ受け取ることを確認するために、データ コントラクト サロゲートが提供されます。

  • ポータブル ライブラリでサポートされていないバインド (BasicHttpBinding、トランザクション フロー、信頼できるセッション、または MTOM エンコーディングがない WSHttpBinding、および等価のカスタム バインドを除くすべてのバインド) に依存するエンドポイントは無視されます。

  • メッセージ ヘッダーは、インポート前にすべての操作におけるすべてのメッセージの説明から削除されます。

  • 非ポータブル属性 (DesignerCategoryAttributeSerializableAttribute、および TransactionFlowAttribute) は、生成されたクライアント プロキシ コードから削除されます。

  • 非ポータブル プロパティ (ProtectionLevel、SessionMode、IsInitiating、IsTerminating) は、ServiceContractAttributeOperationContractAttribute、および FaultContractAttribute から削除されます。

  • すべてのサービス操作は、クライアント プロキシ上で非同期操作として生成されます。

  • 非ポータブル型を使用する生成済みのクライアント コンストラクターは削除されます。

  • CookieContainer インスタンスは、生成されたクライアントで公開されます。

  • コード ジェネレーターのアセンブリとバージョンを示すコメント "// This code was auto-generated by Microsoft.VisualStudio.Portable.AddServiceReference, version 1.0.0.0" がファイルの先頭に挿入されます。

  • ISerializable インターフェイスはサポートされません。

  • Net.Tcp および PollingDuplex バインドはサポートされません。

  • DataContractSerializer は常にエラーに対して使用されます。

  • ポータブル サブセット プロジェクトでは IsWrapped はサポートされません。

関連項目