Можно ли сделать внутренние компоненты видимыми для всех сборок, подписанных одним и тем же ключом? - PullRequest
6 голосов
/ 17 октября 2011

У меня есть сборка с функциональностью, которую я не хочу показывать как общедоступную, но которая по-прежнему доступна для других моих сборок.Это можно сделать с помощью InternalsVisibleToAttribute, указав каждую сборку, в которой будут отображаться его внутренние компоненты.

Мне было интересно, есть ли способ, при котором мне не нужно было указывать все ссылочные сборки, а вместо этого просто применятьПравило, что сборка должна быть подписана тем же snk, чтобы внутренние компоненты были видны.

Существует ли эта функция, и если да, может ли кто-нибудь указать мне правильное направление?

Ответы [ 3 ]

3 голосов
/ 17 октября 2011

Нет, я не верю, что что-то подобное доступно автоматически.

Вы можете написать свой собственный инструмент для генерации строк [InternalsVisibleTo(...)] и добавить модульные тесты, чтобы все эти ссылки имели одинаковый ключ.

1 голос
/ 17 октября 2011

Я не знаю ничего, что навязывает это вам и автоматически генерирует InternalsVisibleTo, но вы могли бы написать расширение Visual Studio, которое делает это.

0 голосов
/ 30 апреля 2012

Я надеюсь, что утилита, которую я создал несколько лет назад, может немного облегчить вашу жизнь, добавив InternalsVisibleTo в ваш файл AssemblyInfo.cs.

Вот ссылка: http://vkreynin.wordpress.com/2007/12/09/testing-internals-members-with-internalsvisibleto-attribute/

...