将InternalsVisibleTo与未签名的程序集一起使用会失败

时间:2017-06-28 14:15:55

标签: c# visual-studio unit-testing .net-assembly

获得了2个程序集Company.BusinessLogicCompany.Tests

Company.Tests引用了Company.BusinessLogic

需要测试来自测试项目的BusinessLogic中的内部资料,因此在以下行添加到业务项目AssemblyInfo.cs中:

[assembly: InternalsVisibleTo("Company.Tests")]

但是我遇到了构建错误:

  

错误134朋友汇编参考'公司。测试'是无效的。强名称签名程序集必须在其InternalsVisibleTo声明中指定公钥。 C:.. \ Company.BusinessLogic \ AssemblyInfo.cs 61 31 Company.BusinessLogic

我不想签署程序集,因为BusinessLogic得到了很多对其他无符号程序集的引用。

MSDN状态,InternalsVisibleTo在两个程序集都已签名或两者都未签名时(在备注和示例部分下)应该有效:

  

如果两个程序集都是无符号的,则assemblyName参数由友元程序集的名称组成,指定时没有目录路径或文件扩展名。

使用:.NET:4.5.2,Visual Studio 2013 Ultimate

如何解决此错误?

0 个答案:

没有答案