Где поставить InternalsVisibleTo - PullRequest
       28

Где поставить InternalsVisibleTo

2 голосов
/ 20 ноября 2010

С этим вопросом связано то, как работает генерация AssemblyInfo?

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

Так, куда это должно пойти?

Ответы [ 2 ]

10 голосов
/ 20 ноября 2010

Атрибуты уровня сборки могут появляться в любом файле кода, однако, условно, они помещаются в файл AssemblyInfo. Это помогает обнаружению, так как именно здесь люди (или инструменты) будут обычно смотреть при расследовании проблем.

Я использую InternalsVisibleTo в течение многих лет и помещаю его в файл AssemblyInfo. Я никогда не знал, что он будет перезаписан инструментами, то есть Visual Studio (все выпуски).

2 голосов
/ 20 ноября 2010

AssemblyInfo - это просто способ организации атрибутов всей сборки.

Нет причин, по которым вы не можете поместить весь свой код в один гигантский файл .cs и передать его в MSBuild.Вы получите тот же конечный результат.

У меня была причина иметь несколько файлов AssemblyInfo - AssemblyInfo.cs был специфичен для каждой сборки, но CommonAssemblyInfo был общим для многих сборок и содержал такие вещи, как номера версий и soforth, которые были созданы системой сборки.

...