[解決済み] このWCFのエラーは何を意味するのでしょうか。"カスタムツールの警告。Cannot import wsdl:portType" です。
質問
私のソリューションで WCF サービス ライブラリ プロジェクトを作成し、これへのサービス参照を持ちます。私はクラス ライブラリからサービスを使用するので、クラス ライブラリに加えて、私の WPF アプリケーション プロジェクトからの参照も持っています。サービスは、非同期サービス関数を取得するために変更するだけで、簡単にセットアップされます。
すべてはうまくいっていました - サービス参照を更新しようとするまでは。失敗したので、結局ロールバックして再試行しましたが、そのときでさえ失敗しました! つまり - サービス参照の更新は、それに何の変更も加えることなく失敗します。なぜですか!
私が得たエラーはこれです。
Custom tool error: Failed to generate code for the service reference
'MyServiceReference'. Please check other error and warning messages for details.
警告はより多くの情報を与えてくれます。
Custom tool warning: Cannot import wsdl:portType
Detail: An exception was thrown while running a WSDL import extension:
System.ServiceModel.Description.DataContractSerializerMessageContractImporter
Error: List of referenced types contains more than one type with data contract name 'Patient' in
namespace 'http://schemas.datacontract.org/2004/07/MyApp.Model'. Need to exclude all but one of the
following types. Only matching types can be valid references:
"MyApp.Dashboard.MyServiceReference.Patient, Medski.Dashboard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" (matching)
"MyApp.Model.Patient, MyApp.Model, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" (matching)
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:portType[@name='ISomeService']
同じような警告が2つも言っています。
Custom tool warning: Cannot import wsdl:binding
Detail: There was an error importing a wsdl:portType that the wsdl:binding is dependent on.
XPath to wsdl:portType: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:portType[@name='ISomeService']
XPath to Error Source: //wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='WSHttpBinding_ISomeService']
についても同様です。
Custom tool warning: Cannot import wsdl:port ..
私はこれをすべて理解することはできません... クライアント側のDashboardには、サービスリファレンスから取得したもの以外にPatientクラスがありません。これは何を意味するのでしょうか? また、なぜ突然表示されるのでしょうか?覚えておいてください: 私は何も変更していません!
さて、これの解決策が見つかりました ここで が見つかりましたが、これが何を意味するのかの説明はありませんでした。そこで、サービスの "Configure service reference" で、 "Reuse types in the referenced assemblies" のチェックボックスをオフにしました。これでリビルドすると、すべて問題なく動作するようになりました。しかし、私は実際に何を変更したのでしょうか?これは私のアプリケーションに影響を与えるのでしょうか?また、どのような場合にこのチェックを外すべきでしょうか?私はDataContractをセットアップした型を再利用したいのですが、それ以上はできません。これをチェックしなくても、私はまだそれらにアクセスできるのでしょうか?
どのように解決するのですか?
サービスリファレンスを追加する際、そのサービスで使用される型は2つの方法で処理することができます。
- 型は dll に格納され、その dll はクライアントとサーバーの両方のアプリケーションから参照されます。
- 型はクライアントから参照されるDLLにはありません。この場合、サービス参照を作成するツールは references.cs ファイルに型を作成します。
うまくいかないことがたくさんあります。私たちは、ツールがクラッシュした場合、サービス参照を削除してもう一度やり直した方が速い場合があることを発見しました。
私たちはサービス リファレンスを使用するのをやめました。クライアントとサービスを制御しているプロジェクトでは、次のような方法を使用しています。 スクリーンキャスト .
関連
-
[解決済み] StackPanelの子パネルが下方向に最大限のスペースを埋めるようにするには?
-
[解決済み] Windows 8 ランタイム(WinRT / Windowsストアアプリ / Windows 10 ユニバーサルアプリ)とSilverlightやWPFの比較はどうですか?[クローズド]
-
[解決済み] Prism for WPFとは?
-
[解決済み] WPF ListViewの選択範囲オフ
-
[解決済み] WPFとSilverlightの比較[重複]。
-
[解決済み] XAMLにunicode文字を入れるには?
-
[解決済み] WPFのTextBlock要素とLabelコントロールの違いは何ですか?重複
-
[解決済み] ObservableCollectionのクリア時にe.OldItemsに項目がない場合
-
[解決済み] xaml wpfでテキストボックスにフォーカスを設定する
-
[解決済み] WPF-ラベルの改行?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ラジオボタンをenumにバインドするには?
-
[解決済み] オーバーレイコントロールを他のすべてのコントロールの上に配置するには?
-
[解決済み] WPF:幅(と高さ)をパーセント値で設定する
-
[解決済み] Generic.xamlの特徴とは?
-
[解決済み] グリッドカラムの幅・高さを設定する際の「Auto」と「*」の違いは何ですか?
-
[解決済み] WPFウィンドウのハンドルを検索する
-
[解決済み] WPF検証エラーの検出
-
[解決済み] WPFにDesignModeプロパティはありますか?
-
[解決済み] WPF バインディング StringFormat Short Date String
-
[解決済み] WPFエラー。エラー: ターゲット要素に対応する FrameworkElement が見つかりません。