与这个问题相关的是,AssemblyInfo 的生成是如何工作的?
我一直把InternalsVisibleTo
在程序集第一类的文件中,我意识到它会很有用。将 AssemblyInfo 与其他程序集属性放在一起似乎更合适,但我不希望它被无意中覆盖。
那么,它应该去哪里呢?
现在是 2022 年,随着SDK风格的项目,另一种选择是将InternalsVisibleTo
属性是项目文件。将以下行添加到您的*.csproj
file:
<ItemGroup>
<InternalsVisibleTo Include="ProjectName.Tests" />
</ItemGroup>
另一种有用的情况是使用参数化项目名称,如下所示:
<ItemGroup>
<AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
<_Parameter1>$(MSBuildProjectName).Tests</_Parameter1>
</AssemblyAttribute>
</ItemGroup>
不确定,但我假设您可以在 .NET 5+ 中使用此功能。
最后,我同意@Tim Lloyd 的观点。推杆InternalsVisibleTo
属性位于中心位置(在AssemblyInfo.cs
程序集中的文件或项目文件)提高了可发现性,最终这是一个程序集级属性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)