在哪里放入InternalsVisibleTo

时间:2010-11-20 17:39:51

标签: c# visual-studio assemblies

与此问题相关的是,AssemblyInfo的生成如何工作?

我一直把InternalsVisibleTo放在程序集的第一个类的文件中,我意识到它会很有用。使用其他程序集属性在AssemblyInfo中似乎更合适,但我不希望它被无意中覆盖。

那么,应该去哪里?

2 个答案:

答案 0 :(得分:10)

程序集级别属性可以出现在任何代码文件中,但是,按照惯例,它们放在AssemblyInfo文件中。这有助于发现,因为这是人们(或工具)在调查问题时通常会看到的地方。

我多年来一直使用InternalsVisibleTo并将其放在AssemblyInfo文件中。我从来不知道它被工具覆盖,即Visual Studio(所有版本)。

答案 1 :(得分:2)

AssemblyInfo实际上只是一种组织程序集范围属性的方法。

没有理由不能将所有代码放在一个巨大的.cs文件中,并将其传递给MSBuild。你会得到相同的最终结果。

我有理由拥有多个AssemblyInfo文件 - AssemblyInfo.cs特定于每个程序集,但CommonAssemblyInfo在许多程序集之间共享,并包含由构建系统生成的版本号和软件。