从外部引用和存储强名称以供重用

我有很多程序集将InternalsVisibleToAttribute设置为指向同一解决方案中的一个特定程序集。不幸的是,被指向的程序集具有强大的名称,因此我总是必须将相同的公钥标记一遍又一遍地放入AssemblyInfo.cs文件中。由于c#中没有预编译器,我如何理想地消除这种冗余。     
已邀请:
你有几个简单的选择: 在AssemblyInfo.cs文件中使用常量而不是文字。 将此属性添加到共享文件(例如:CommonFriendAssemblies.cs),该文件链接而不是复制到您的单个项目中。 #1管理起来比较简单,但它有一个令人遗憾的副作用,即在引用项目中删除对引用内部的IntelliSense支持。 #2管理起来有点复杂,但它不会干扰IntelliSense支持。     
也许你可以使用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); #>")]
    

要回复问题请先登录注册