如何使Internal类型对其他程序集可见?

本文详细介绍了如何使用Microsoft Visual Studio 2010生成强名称密钥对,包括私钥和公钥的创建过程,以及如何在项目中应用这些密钥对进行程序集签名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 测试代码

需要用到强名称密钥对,得先生成密钥对。

首先打开 Microsoft Visual Studio 2010 x86 tools.

第一步,敲入sn -k c:\PostSharp.snk(这一步是生成私钥,名称和路径可以自己另外定义)

第二步,敲入sn -p c:\PostSharp.snk c:\PostSharpPublic.snk(这一步是根据私钥生成公钥)

 

第三步,敲入sn -tp c:\PostSharpPublic.snk(这一步是获取公钥字串,此时控制台会出现如下提示)

Microsoft(R) .NET Framework 强名称实用工具 版本 4.0.30319.1 版权所有(C) Microsoft Corporation。保留所有权利。

公钥为 002400000480000094000000060200000024000052534131000400000100010055fa6a030f9605 a175c0c7bd9e610c1d9c39b5f2a3834e0e1d10716e71be7a3de79380678236fefeef6c12273a9e 7a7fb102995b355b0bfd4f01f79948465a09409e1add83d4eff0881c08de62cc3cddb37d9712ee e260329013530c8c689dc918db0afdb62f73603d36c77199803fd773a6026c23b1ddc76607d956 4fd8e5e9

公钥标记为 bbe773d431a3500e

 

第四步,点选需要访问Internal类型的项目,右键,选属性,签名,”为程序集签名“打钩,浏览,选择刚才生成的PostSharp.snk

第五步,点选包含Internal类型的项目,右键,选属性,签名,”为程序集签名“打钩,浏览,选择刚才生成的PostSharp.snk

第六步,给Internal类型的程序集加上下面的代码,下面一连串的PublicKey就是从刚才第三步操作结果拷贝的。

[assembly:     InternalsVisibleTo(         "Test, PublicKey=002400000480000094000000060200000024000052534131000400000100010055fa6a030f9605a175c0c7bd9e610c1d9c39b5f2a3834e0e1d10716e71be7a3de79380678236fefeef6c12273a9e7a7fb102995b355b0bfd4f01f79948465a09409e1add83d4eff0881c08de62cc3cddb37d9712eee260329013530c8c689dc918db0afdb62f73603d36c77199803fd773a6026c23b1ddc76607d9564fd8e5e9"         )]

至此大功告成。有点像C++里的友元。

转载于:https://www.cnblogs.com/itgiant/archive/2011/12/21/2295733.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值