1、新建项目Other,在其中创建如下类:
using System;
using System.Collections.Generic;
using System.Text;

namespace Other.全局应用缓存
{
    public class GAC
     {
         public string CallGAC()
         {
             return "GAC end";
         }
     }
}

2、强命名程序集:
在项目Other上,击右键,签名,为程序集签名,新建或者浏览密钥文件
也可以在SDK 命令提示中创建密钥,sn -k D:\CompanyA.keys,在此引用。vs2003:[assembly: AssemblyKeyFile

("D:\CompanyA.keys")]
编译,此时Other.dll已经是强命名程序集

3、共享程序集Other.dll:
将程序集(如:E:\个人文件夹\Code\企业级应用解决方案\Other\bin\Debug\Other.dll)直接拖入全局应用程序缓存(如:

C:\WINDOWS\assembly)
也可是在SDK 命令提示中完成,如:GACUtil /i E:\个人文件夹\Code\企业级应用解决方案\Other\bin\Debug\Other.dll

4、调用共享程序集Other.dll
新建Web项目MyWebProject,添加引用刚才创建的程序集Other.dll,比如:E:\个人文件夹\Code\企业级应用解决方案

\Other\bin\Debug\Other.dll,此时MyWebProject的web.config中有了:

<compilation debug="true">
    <assemblies>
     <add assembly="Other, Version=1.0.0.0, Culture=neutral,

PublicKeyToken=43FC64574884C304"/></assemblies></compilation></system.web>
调用代码如下:

public partial class _Default : System.Web.UI.Page
{
     protected void Page_Load(object sender, EventArgs e)
     {

}
     protected void Button1_Click(object sender, EventArgs e)
     {
         //使用反射,不需要引用
         System.Reflection.Assembly assembly = System.Reflection.Assembly.Load("Other, Version=1.0.0.0, Culture=neutral, PublicKeyToken=43FC64574884C304");
         this.Response.Write("利用反射,从GAC中载入程序集" + assembly.GlobalAssemblyCache);

}
     protected void Button2_Click(object sender, EventArgs e)
     {
         //必须引用,网站MyWebProject部署之后,可以删除调E:\个人文件夹\Code\企业级应用解决方案

\Other\bin\Debug\Other.dll
         Other.全局应用缓存.GAC gac = new Other.全局应用缓存.GAC();
         string result = gac.CallGAC();
         this.Response.Write(result);
     }
}

程序集强命名与GAC相关推荐

  1. 什么是.NET 程序集强签名

    http://blog.csdn.net/vipxiaotian/archive/2007/07/12/1686071.aspx 用强名称来给程序集签名即谓之程序集强签名! 那什么是强名称,签名又有什 ...

  2. VS源码添加程序集强签名

    1.打开"开始"菜单或者右击"开始"菜单选择"搜索",在搜索栏输入"开发人员命令提示",选择"VS2015开发 ...

  3. .Net程序集强签名详解

    强签名: 1. 可以将强签名的dll注册到GAC,不同的应用程序可以共享同一dll. 2. 强签名的库,或者应用程序只能引用强签名的dll,不能引用未强签名的dll,但是未强签名的dll可以引用强签名 ...

  4. [转]程序集之GAC---Global Assembly Cache

    本文转自:http://www.cnblogs.com/jhxk/articles/2564295.html 1.什么是GAC?GAC解决什么问题? GAC全称为: Global Assembly C ...

  5. C#图解教程 第二十一章 命名空间和程序集

    命名空间和程序集 引用其他程序集 在第1章中,我们在高层次上观察了编译过程.编译器接受源代码文件并生称名称为程序集的输出文件.这一章中,我们将详细阐述程序集以及它们是如何生成和部署的.你还会看到命名空 ...

  6. 不使用GACUtil.exe,如何部署和卸载程序集到GAC中

    在Windows Server 2008和Windows Server 2008 上, 部署程序集到GAC中时,如果以直接将程序集拖拽到GAC的方式部署,将会得到Access is denied的错误 ...

  7. (转载)20分钟读懂程序集

    转自:http://www.cnblogs.com/damonlan/p/3221347.html 说到程序集,我刚开始对这个名词特别的郁闷!~.然后 前些天花了些时间 好好读了一下,现在比较清晰了, ...

  8. 强名称程序集(strong name assembly)——为程序集赋予强名称

    引言: 在曾经的项目开发中,在程序集中见到过一个后缀为*.snk的文件.当时看这个文件的图标.感觉可能是企业内部保护版权啥的一种方式. 一,强程序集攻克了哪些问题? 1,唯一标识一个程序集 2,放置程 ...

  9. CLR via C# 边读边想 03 - 本地程序集和强命名程序集

    Two Kinds of Assemblies, Two Kinds of Deployment CLR 支持两种类型的程序集:weakly named assemblies and strongly ...

最新文章

  1. 关于异常Microsoft.CSharp.RuntimeBinder.RuntimeBinderException
  2. 最短路径 的一些解法和特殊情况
  3. oracle备份 ram,Oracle备份时出现AIX系统的3D32B80D错误
  4. [渝粤教育] 盐城工学院 无机及分析化学C 参考 资料
  5. 如何将一棵LSM-Tree塞进NVM
  6. SQL SERVER的SID和表的所有权问题
  7. 计算机网络环境中学科教学,浅谈基于计算机网络环境下的农村小学的科学学科教育...
  8. 二级倒立摆建模(二)
  9. vue结合vue-amap调用高德地图行政区划分并添加标记点
  10. 单片机上的8位数码管显示数字12345678
  11. 群晖万兆文件服务器,NAS进阶 篇三:2019年最具性价比的NAS硬件是什么暨黑群晖万兆搭建经验介绍...
  12. LATEX编译出现Undefined control sequence.
  13. 战舰少女r服务器维修,战舰少女r修理时间怎么计算?舰船受损维修时间公式分析[多图]...
  14. python爬虫scrapy爬取新闻标题及链接_18Python爬虫---CrawlSpider自动爬取新浪新闻网页标题和链接...
  15. Python程序员看见一个好看的手机壁纸网站,开撸!
  16. 替代 XShell 的两款优秀工具
  17. 妹子:我都这样给你讲类加载器了,还不懂!
  18. 时间序列分析实验报告总结_时间序列实验报告.doc
  19. 【矩阵论笔记】零化多项式
  20. 登上 Science,AlphaZero完整论文首次发布

热门文章

  1. 【AI不惑境】网络深度对深度学习模型性能有什么影响?
  2. java用递归的方式写n_java-使用递归将其元素加起来为n的子集的列表
  3. 日本农商巨头50年布局多个领域 对话国际农民丰收节贸易会
  4. 对外合作对话国际农民丰收节贸易会 农业农村部谋定稳求进
  5. 农商互联农民丰收节交易会-万祥军:产销对接谋定功能农业
  6. hashMap和hashTable的区别(个人总结)
  7. Appium_pytest fixture的使用
  8. PTA数组作业一查找整数
  9. [转载]Oracle 游标使用全解
  10. 在windows下安装flex和bison、GCC