2016-07-27 14 views
0

ここ数日間、奇妙な問題で戦ってきました。答えをネットで検索しましたが、エラーを解決できないようです。SilverlightのWebサービスアップデートでwsdlをインポートできない

私たちの組織は、VS 2010で開発されたSilverlight 5アプリケーションがあり、すべて正常に動作していました。実際には本番サーバーで実行されています。
最近、私たちは開発マシンをVS 2015に移行しました。また、マシン自体も(新しい部門のもの)移行しました。 OSは以前と同じWindows 7です。

MSフレームワークのおかげで、最初は厄介なMatchTimeoutInMillisecondsというエラーで歓迎されました。最終的にMSはこの問題を扱った4.6.2プレビュー版をリリースしました。

そこで、要求された変更を実装するために、私たちはWebサービスで新しいメソッドを作成しました。我々は[OperationContract][DataContract]タグを適所に持っています。これらのタグが欠落していたという正当な理由で投稿され、回答された質問があります。
ただし、SLアプリケーションにアクセスしてWS参照を更新すると、「カスタムツールエラー:サービス参照のコード生成に失敗しました...」というメッセージが表示されます
カスタムツールの警告メッセージには、
「wsdl:バインド... "
" wsdl:port ...をインポートできません "
" wsdl:portTypeをインポートできません "
" Silverlight 5と互換性のあるエンドポイントは見つかりませんでした。エンドポイント情報はコンストラクタを介して提供されます。

私たちは何か間違っていると思っていたので、変更をロールバックして変更を加えずにサービス参照を更新したので、同じエラーが発生しました。 Referece.csファイルはコードなしで生成され、Webサービスへのすべての参照はもはやコンパイラによって認識されません。

また、「参照されているアセンブリの再利用の種類」のチェックを外すことを提案する記事もあります。これを行うと、これらのエラーはクリアされ、他のものを生成するには、私たちのアプリはこの前提で構築されています。
また、サービス参照を削除してもう一度追加しようとしましたが、役に立たなくなりました。

最終的に私たちは、Webサービスリファレンスを更新する前のSLアプリケーションをコンパイルしていたポイントに戻し、WSを新しいメソッドで再公開し、新しいメソッドをReference.csファイルに手動で追加してテストしました。できます。

しかし、これは解決策ではありません。それは面倒でエラーの傾向があります。 この問題を解決するためのお手伝い、またはこれがなぜ起こっているのかについての洞察をお寄せいただきありがとうございます。

おかげ

+0

サービスは認証によって保護されていますか? – BugFinder

+0

いいえわかりやすく同じマシンで動く –

+0

私は同じことをしたので、私はちょっと困っています。私は2013年を過ぎても2015年に移動しましたが、これに遭遇しませんでした。しかし、私は4.5.2でimを4.5に移しました:P – BugFinder

答えて

0

全体の問題は、私はまだ見つかっていない何らかの理由で、VSはReference.csのためのコードを生成するために失敗した、ということです。

回避策として、SlSvcUtil.exeツール(私のマシン上)にあるc:\ Program Files(x86)\ Microsoft SDKs \ SilverlightにあるReference.csファイルを生成することができました。 \ v5.0 \ Tools "にあります。

移行前に生成されたものと同じコードを取得するために、私は次のコマンドとオプションを使用しました:

SlSvcUtil.exe my_ws_address /名前空間:「*、my_class_namespace」/ ct:System.Collections.ObjectModel.ObservableCollection`1/r: "C:\ Program Files(x86)\リファレンスアセンブリ\ Microsoft \ Framework \ Silverlight \ v5.0 \ System.Windows.dll"/edb/ser:Auto

私は/ outスイッチを使用せず、目的の出力ディレクトリでコマンドを実行しました。しかし、コマンドを実行する前にそのスイッチを調べることをお勧めします。

関連する問題