このプロジェクトは、社内の WCF サービスと通信する標準のありふれたASP.NET MVC 3 アプリケーションです。私たちの ASP.NET MVC アプリケーションは、一般的な JSON.NET ライブラリなど、いくつかの外部ライブラリを参照しています。
この問題は、JSON.NET ライブラリがプロジェクト内の参照である場合にのみ発生します。WebForms とWindows Formsプロジェクトでこの問題を再現しようとしましたが、同じことが起こりました。
WCF サービスにサービス参照を追加し、JSON.NET がプロジェクトの参照である場合、サービス参照は次のように構築されます。
プロジェクトで JSON.NET が参照されている場合 - Request/Response クラスと、Id1 や IdSpecified などの奇妙なプロパティに注目してください。
しかし、JSON.NET への参照を削除し、サービス参照を更新すると、次のように希望どおりにビルドされます。
プロジェクトで JSON.NET が参照されていない場合
...
一体何がこれを引き起こすのでしょうか?JSON.NET は WCF プロジェクトで参照されていないため、何らかの混同がある可能性は非常に低いと思います。
役立つ情報:
- 「参照されたアセンブリで型を再利用する」などのサービス参照の追加ダイアログでさまざまなオプションを確認しようとしましたが、同じことが起こります
- ビジュアル スタジオ 2010
- WCF サービスはデータ アクセスに Entity Framework を使用します