私はWCFサービス用のDLLのグループを持っています。契約、インタフェースなどを含んでいます。このコードをAPI(クライアント側)で再利用したいのですが、APIのコンシューマにこれらの機能を使用させたくありません。.NETアセンブリへのアクセスの制御
core.dllがclientcore.dllによってのみ使用できると言う方法はありますか?
私はWCFサービス用のDLLのグループを持っています。契約、インタフェースなどを含んでいます。このコードをAPI(クライアント側)で再利用したいのですが、APIのコンシューマにこれらの機能を使用させたくありません。.NETアセンブリへのアクセスの制御
core.dllがclientcore.dllによってのみ使用できると言う方法はありますか?
まあ、core.dll
のすべてのメンバーにinternal
のアクセス修飾子を指定し、次にInternalsVisibleToAttribute
を使用してclientcore.dll
にアクセスできます。
お客様の生活をより快適にするために、実際にcore.dll
をを使用してclientcore.dll
に結合したい場合があります。そうすることで、呼び出し元は決して直接使用しないDLLをコピーする必要はありません。
はい、タイプを内部にして、InternalsVisibleToAttributeクラスを使用してフレンドのアセンブリメカニズムを使用してください。
必ず、それが呼ばれています:
.NET内でCASを使用する場合は、 4、以前のバージョンの[変更点を確認する](http://msdn.microsoft.com/en-us/library/ff527276.aspx)を必ず確認してください。注目すべきものがいくつかあった。 – ckittel
私たちはあなたのdllウィルilmergeをグループ化してきました。最後のAPIはdll上にあります。その点をありがとう。 – Arnej65
@ Arnej65:次に、コアの内部機能を「内部」にするだけで必要なのです。コンパイル時に 'InternalsVisibleTo'が必要ですが、実行時にすべてのコードが1つのアセンブリに収まるため、実際には*使用されません。 –
それから、VisibleToを追加するだけで完了です。優れた。 – Arnej65