zoukankan      html  css  js  c++  java
  • 如何使Internal类型对其他程序集可见?

     测试代码

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

    首先打开 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++里的友元。

  • 相关阅读:
    五大主流浏览器 CSS3 和 HTML5 兼容性大比拼
    httpservice 公共类
    Eclipse自动生成注释
    天生一对"Maven2+Jetty" Maven2创建并管理WebApp,并使用Maven Jetty Plugin在Eclipse中调试
    jsp checkbox不错的应用
    我们需要改变
    Sortable Table 可排序表格JS收集
    Eclipse快捷键大全()
    Ajax简单应用
    css 固定table表头
  • 原文地址:https://www.cnblogs.com/itgiant/p/2295733.html
Copyright © 2011-2022 走看看