zoukankan      html  css  js  c++  java
  • 创建共享程序集

      共享程序集的一个副本可供一台机器上的多个应用程序使用,文件不会出现在应用程序的运行目录下,而是被安装在GAC(Globle Assemble Cache)中。

      在.net4.0中,GAC被分在2个地方。.NET1.0到.NET3.5的基础类库被放到“C:Windowsassembly”,而在.NET4.0 编译下的程序集,是放到“C:WindowsMicrosoft.NETassemblyGAC_MSIL”中。

      比如我们经常使用的MessageBox.Show()方法,属于System.Windows.Forms.dll程序集,这个程序集是在"C:Windowsassembly"中。

      部署到GAC之前,一定要给这个程序集赋一个强命名(包括程序集的友好名称、版本号、公钥值等),它就像是.NET中的GUID,是一个唯一标识符。它的作用是用于标识给定.NET二进制文件的发行者。

      部署共享程序集的步骤如下:

    1、生成强命名文件。可通过命令或图形化两种方式实现。

      (1)命令方式

        a、使用【sn -k 文件名.snk】命令生成以 *.snk(strong name key)后缀的文件。

          例如:sn -k mydll.snk

        b、将强文件信息写进AssemblyInfo.cs文件中。

          添加“[assembly: AssemblyKeyFile(强文件文件名)]”。例如:[assembly: AssemblyKeyFile(@"F:mydll.snk")]

      (2)图形化方式

        a、在项目属性中,选择“签名”,勾选“为程序集签名”,选择“新建”。

        b、创建强命名文件。

    2、安装强命名的程序集。

      使用【gacutil.exe】命令将程序集安装到GAC中。

      【gacutil.exe -i 程序集名称】:安装程序集到GAC中。例如:gacutil.exe -i mylib.dll

      【gacutil.exe -l 程序集名称】:查看程序集是否在GAC中。例如:gacutil.exe -l mylib(不能带dll后缀)

      【gacutil.exe -u 程序集名称】:卸载GAC中的程序集。例如:gacutil.exe -u mylib(不能带dll后缀)

      

      将代码库部署为私有还是共享,仍然是一个需要权衡的问题。它取决于项目本身的细节。一般来说,如果构建的库可被大量应用程序使用,共享程序集将十分有帮助,因为你可以轻松地部署一个新的版本。

     

    参考:http://www.cnblogs.com/damonlan/p/3221347.html

  • 相关阅读:
    1304. 和为零的N个唯一整数
    557. 反转字符串中的单词 III
    集群Eureka构建步骤
    单机Eureka构建步骤——08端口服务和8001端口服务注册进Eureka
    服务注册中心——Eureka基础知识
    存活的cloud
    系统中重复部分打包成一个jar包供其他工程使用(工程重构)
    cloud-consumer-order80微服务消费者订单Module模块
    cloud-provider-payment8001微服务提供者支付Module模块
    学习SpringCloud——项目工程搭建
  • 原文地址:https://www.cnblogs.com/hibernation/p/3333407.html
Copyright © 2011-2022 走看看