C# 我是否可以使内部构件对使用相同密钥签名的所有程序集可见?

C# 我是否可以使内部构件对使用相同密钥签名的所有程序集可见?,c#,.net,internalsvisibleto,C#,.net,Internalsvisibleto,我有一个具有功能的程序集,我不想将其公开为公共程序集,但我的其他程序集仍可访问该程序集。这可以使用InternalsVisibleToAttribute来完成,方法是指定每个组件,使其内部可见 我想知道是否有一种方法,我不必指定所有引用程序集,而是强制执行一条规则,即程序集必须由同一snk签名,才能使内部可见 这个功能存在吗?如果存在,有人能给我指出正确的方向吗?没有,我不相信这样的功能会自动提供 您可以编写自己的工具来生成[InternalsVisibleTo(…)]行,并添加单元测试,以确保

我有一个具有功能的程序集,我不想将其公开为公共程序集,但我的其他程序集仍可访问该程序集。这可以使用InternalsVisibleToAttribute来完成,方法是指定每个组件,使其内部可见

我想知道是否有一种方法,我不必指定所有引用程序集,而是强制执行一条规则,即程序集必须由同一snk签名,才能使内部可见


这个功能存在吗?如果存在,有人能给我指出正确的方向吗?

没有,我不相信这样的功能会自动提供


您可以编写自己的工具来生成
[InternalsVisibleTo(…)]
行,并添加单元测试,以确保所有此类引用都具有相同的密钥。

我不知道有什么东西可以为您强制执行此操作并自动生成InternalsVisibleTo,但您可以编写一个Visual Studio扩展来实现这一点。

我希望几年前创建的实用程序可以让您的生活更轻松一点将InternalsVisibleTo添加到AssemblyInfo.cs文件中

以下是链接:

好问题。不幸的是,我很确定答案是它不受支持/没有办法做到……为什么不从一开始就声明所有内部内容?