我有很多程序集将InternalsVisibleToAttribute指向同一个解决方案中的一个特定程序集。不幸的是,被指向的程序集具有强大的名称,因此我总是必须将相同的公钥标记一遍又一遍地放入AssemblyInfo.cs文件中。由于c#中没有预编译器,我如何理想地消除这种冗余。
答案 0 :(得分:1)
你有几个简单的选择:
#1管理起来有点简单,但它有removing IntelliSense support for the referenced internals in the referencing project的不幸副作用。
#2管理起来有点复杂,但它不会干扰IntelliSense支持。
答案 1 :(得分:0)
也许你可以使用t4
将AssemblyInfo.cs
重命名为AssemblyInfo.tt
并添加类似这样的内容
<#@ template language="C#v3.5" hostspecific="True" debug="True" #>
<#@ output extension="cs" #>
[assembly: InternalsVisibleTo("<# Write(System.Reflection.Assembly.GetExecutingAssembly().FullName); #>")]