可以在C#中使用InternalVisibleTo而不使用强名称程序集吗?

Clo*_*ble 9 c# unit-testing scope internalsvisibleto internal

我在MSDN上找不到关于此的任何明确声明,有一些强名称的例子,其他没有,对我而言似乎它应该工作,即使没有但它不起作用.

谢谢

Fré*_*idi 13

文件是十分明了:

当前程序集和友元程序集都必须是未签名的,或者两者都必须使用强名称进行签名.如果使用强名称签名,则InternalsVisibleToAttribute 构造函数的参数必须包含完整的公钥以及程序集的名称.

这个答案对于什么样的例子完整的公钥手段.

  • 好吧,如果你不想指定完整的公钥,那么*两个*程序集都必须是无符号的.是这样的吗?还要警惕`[AssemblyKeyFile]`和`[AssemblyKeyName]`属性的存在,甚至是空的,可以搞乱[[InternalsVisibleTo]`,作为[这个答案](http://stackoverflow.com/a/3594856/ 464709)揭示. (4认同)