Управление доступом к сборкам .NET - PullRequest
1 голос
/ 05 августа 2011

У меня есть группа DLL для служб WCF.Содержат контракты, интерфейсы и т. Д. Я хотел бы повторно использовать этот код в API (на стороне клиента), но не хочу, чтобы потребители API использовали эти функции.

Есть ли способ сказать ядро.dll может использоваться только clientcore.dll?

Ответы [ 3 ]

4 голосов
/ 05 августа 2011

Ну, вы можете дать всем членам core.dll модификатор доступа internal, а затем использовать InternalsVisibleToAttribute, чтобы дать доступ к clientcore.dll.

.жизнь для ваших клиентов проще, вы можете захотеть объединить core.dll в clientcore.dll, используя ILmerge .Таким образом, вашим абонентам не нужно копировать DLL, которую они никогда не используют напрямую.

1 голос
/ 05 августа 2011

Да, сделайте ваши типы внутренними, а затем используйте механизм сборки друзей (через класс InternalsVisibleToAttribute ).

0 голосов
/ 05 августа 2011

конечно, это называется:

Код доступа к безопасности

...