4

Visual Studio で複数のサービス参照が名前空間を共有できるようにするために、Reference.cs ファイルを手作業でコーディングする以外に可能な方法はありますか?

同じソリューションの一部である複数のサービスを利用するクライアント アプリケーションを開発しています。Microsoft が MS-Project Server 用に持っている Project Service Interface (PSI) API のラインに沿ったもの。次のように、個々のサービス参照ごとに異なる名前空間を使用するのではなく、

MyProject.ProjectService.ProjectServiceClient
MyProject.ResourceService.ResourceServiceClient
MyProject.TimesheetService.TimesheetServiceClient

次のように、それらすべてを 1 つの名前空間に入れることができればよいでしょう。

MyProject.Services.ProjectServiceClient
MyProject.Services.ResourceServiceClient
MyProject.Services.TimesheetServiceClient

これに伴い、共通のコードを共有できるようになります。たとえば、これらのサービスのいずれかが同じデータ コントラクトを公開した場合などです。現在、クライアントが使用できるコードを記述したい場合、サービス プロキシごとに個別のバージョンを作成する必要があります。これは、共通のコントラクトが 3 つの異なる名前空間に存在するためです。私がどこに行くのか分かりますか?

可能です?

アップデート

私がサービス コードにアクセスできないと仮定しましょう (私にはありません)。つまり、共有クラス ライブラリはオプションではありません。この場合、私の選択は何ですか?

4

1 に答える 1

1

これらの共通クラスは、サービスとクライアントの両方で共有されるクラスライブラリに配置できます。次に、Visual Studioはサービス参照ごとにクラスを生成せず、代わりに共通のクラスライブラリを使用します。

于 2011-03-21T19:19:54.337 に答える