Dee*_*101 8 c# strongname visual-studio-2012
使用时
我们注意到编译过程失败,好像InternalsVisibleTo标签从未被声明过.我们得到的错误是MyInternalClass is inaccessible due to its protection level <snip>
当公钥使用sha1时(在上面的步骤3中),编译过程完美地运行,没有任何问题,并且内部正确地暴露给测试项目.我们创建强名称密钥的方式是
sn -k 4096 SignKey.snk
sn -p SignKey.snk SignKeyPublic.snk sha256
sn -tp SignKeyPublic.snk
Run Code Online (Sandbox Code Playgroud)
我们将项目内部暴露给它的测试项目的方式是:
[assembly: InternalsVisibleTo("MyProjectTest, PublicKey=LongPublicKeyHere")]
Run Code Online (Sandbox Code Playgroud)
我们坚持内Properties\AssemblyInfo.cs的的MyProject项目.
问题:如何在强名称进程中使用SHA256或更好?
编辑:或者这是VS2012工具中的错误吗?
平台,工具:VS2012(更新3),.NET 4.5,Windows 8 x64
这篇杂志文章中非常明确地提到了这一点:
使用各种机制来实现数字签名。.NET Framework 中强名称的当前实现依赖于 RSA 公钥算法和 SHA-1 哈希算法。
大概您希望发生的是,当 CLR 检查强名称时,用于 sn.exe 的命令行参数也对 CLR 可见。那不存在。
| 归档时间: |
|
| 查看次数: |
334 次 |
| 最近记录: |