Есть ли способ предоставить привилегированный доступ к сборке .NET только одной другой сборке? - PullRequest
2 голосов
/ 13 марта 2009

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

То, что я хотел бы, это поместить весь тестовый код в другую сборку и каким-то образом предоставить ему привилегии для доступа к внутренним объектам класса. Мне не нужно, чтобы это было частью конечного продукта, как часть отладочной / приватной сборки.

Это возможно?

Ответы [ 2 ]

9 голосов
/ 13 марта 2009

Свободно используйте модификатор доступа internal и добавьте атрибут InternalsVisibleTo в сборку.

4 голосов
/ 13 марта 2009

Вы хотите System.Runtime.CompilerServices.InternalsVisibleTo ()

Вы также можете использовать рефлексию для доступа к внутренним / личным членам. Вот как это делает MSTest.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...