我有很多程序集已将InternalsVisibleToAttribute指向同一解决方案中的一个特定程序集。不幸的是,被指向的程序集有一个强名,所以我总是必须一次又一次地将相同的公钥标记放入AssemblyInfo.cs文件中。由于在C#中没有预编译器,我如何理想地消除这种冗余。引用并存储强名称以供外部重用
1
A
回答
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); #>")]
1
你有几个简单的上下的选择:
- 使用一个常量,而不是您的AssemblyInfo.cs文件中的文字。
- 将此属性添加到已链接而不是复制到单个项目中的共享文件(例如:CommonFriendAssemblies.cs)。
#1管理起来有些简单,但它有removing IntelliSense support for the referenced internals in the referencing project的不幸副作用。
#2的管理比较复杂,但不会影响智能感知支持。
相关问题
- 1. 将组件名称存储为字符串供以后使用
- 2. 如何存储CALayers以供重用?
- 3. 外部名称
- 4. 强制从外部服务器下载并重命名
- 5. 外部存储
- 6. 使用wpf存储在外部dll中的引用图像
- 7. 当按名称引用时,名称的存储位置在哪里?
- 8. 外部存储到内部存储
- 9. 如何从嵌套的引用外部C++名称空间?
- 10. 外部存储器合并排序
- 11. 如何在存储过程中引用数据库名称?
- 12. Python - 从类内部引用类名称
- 13. Android外部存储
- 14. phonegap外部存储
- 15. 在内部存储vs外部存储中存储应用图像
- 16. 使用的“强名称”
- 17. 在存储库中删除SVN外部引用
- 18. 存储子查询的结果以供重用
- 19. Get调用存储过程的名称
- 20. 使用存储的名称CREATE SCHEMA
- 21. Android:使用GraphRequest获取并存储Facebook名称newMeRequest
- 22. 保存到外部存储
- 23. 安卓:无需使用外部存储
- 24. 擦拭外部存储不起作用
- 25. Android外部存储手柄不可用
- 26. 在应用程序外部存储time_point
- 27. 如何独立于名称更改重建类名称引用?
- 28. 使用外部HD写入并存储mysql数据库
- 29. 为来自Nuget的外部库添加一个强名称
- 30. Laravel存储库存储图像名称不起作用