0

双方向サービスの実装中に、新しいクラスを作成し、それを attribute で装飾しましたDataContract。さらに、このクラスDataMemberのプロパティを、 property を含む属性で装飾しましたpublic IPEndPoint Endpoint { get; set; }

generatedProxy.cs次に、とapp.configファイルを生成した svcutil を起動しました。プロジェクトのビルドは成功しますが、次のような警告が報告されます。

'C:\Users\vincenzo\Documents\Visual Studio 2010\Projects\SampleDuplex\Client\generatedProxy.cs' のタイプ 'System.Net.IPEndPoint' は、'c: \Program Files\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\Profile\Client\System.dll'. 「C:\Users\vincenzo\Documents\Visual Studio 2010\Projects\SampleDuplex\Client\generatedProxy.cs」で定義されているタイプを使用します。C:\Users\vincenzo\Documents\Visual Studio 2010\Projects\SampleDuplex\Client\ generatedProxy.cs 90 28 クライアント

これらの警告の原因は何ですか?

4

1 に答える 1

0

この問題は、生成されたファイルに名前空間の定義が含まれており、System.Netこの名前空間内にIPEndPointクラスの定義も含まれていたことが原因で発生しました。これは、.NET Framework の定義と競合していました。この問題を解決するために、/reference次のように svcutil コマンドにオプションを追加しました。

  1. パスに移動しましたC:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0
  2. オプションを追加しました/reference:System.dll

その結果、名前空間 System.Net の定義は生成されたファイルに存在しなくなり、ビルド後に警告は報告されません。

于 2012-06-30T08:02:28.560 に答える