プロジェクトには多数のアセンブリがあります。
- Contract.Common ; 一般的に使用されるすべてのが含まれています
DataContract
。 - Contract.Sync ; その他の機能
- Contrct.Task ; その他の機能
- 製品が進化するにつれて、より多くの機能を備えたさらに5ダースのアセンブリ。
一般に、Contract.Commonは、他のWCFコントラクトアセンブリによって参照されていました。いくつかのベストプラクティスに従って、WCF Architecture&Evoltion / Versionをさらに読んでください。すべてのコントラクトに使用する、NamespacePrefixのような定数の静的クラスがあります。
共通契約から独立した新しい契約を開発しているのですが、初めてです。それをContract.NewStuffと呼びましょう
通常どおり、新しいコントラクトは、共通のコントラクトライブラリ内の名前空間プレフィックス定数を再利用します(つまり、それへの参照が必要です)。
Webサービスクライアントの場合、コントラクトアセンブリを参照し、それを使用してさまざまなWebサービスに接続して呼び出します。
ケシトン
Contract.NewStuffは、コンパイル時に定数に共通ライブラリのみを使用するため(ランタイムアセンブリはありません)、クライアントがContract.Commonアセンブリも参照する必要がないようにするにはどうすればよいですか?
私の共通契約はたった20KBのアセンブリであることを理解しているので、心配する必要はありません。しかし、Contract.NewStuffを使用している300,000台以上のマシンでは、そのアセンブリの送信、将来のリリースでの更新などにリソースを浪費する必要がある理由がわかりません...
アップデート1
[リンクとしてファイルを追加]オプションを使用しました。参照なし、定数を編集するための単一の場所。