7
我无法在MSDN上找到关于此的任何明确声明,有一些强名称的例子其他没有,对我来说,它似乎应该工作,即使没有,但它不工作。可以使用InternalVisibleTo而不使用C#中的强名称程序集吗?
谢谢
我无法在MSDN上找到关于此的任何明确声明,有一些强名称的例子其他没有,对我来说,它似乎应该工作,即使没有,但它不工作。可以使用InternalVisibleTo而不使用C#中的强名称程序集吗?
谢谢
的documentation是十分明了:
无论是当前的组件和朋友集会必须是无符号,或 都必须用强名称进行签名。如果它们使用 强名称进行签名,则构造函数的参数必须包含完整公钥以及程序集名称 。
对于什么完整的公钥装置的一个例子见this answer。
谢谢你的答案,这就是我从文档了解,但仍然由于某种原因,它不工作。我知道什么是完整的公钥,但我更愿意公开内部方法,而不是在所有DLL中集成公钥。我发现没有公钥的选项对单元测试非常有用 – CloudyMarble
好吧,如果你不想指定完整的公钥,那么*两个*程序集都必须是无符号的。是这样吗?另外请注意,[[AssemblyKeyFile]'和'[AssemblyKeyName]'属性的存在,甚至是空的,都可能与[InternalsVisibleTo]混淆,因为[this answer](http://stackoverflow.com/a/3594856/ 464709)揭示。 –