none
关于注册程序集的一个小问题 RRS feed

  • 问题

  • 关于.NET的类在windows 环境下(dll文件) 我见书中说有两种方法可以将一个DLL注册到GAC(全局程序集缓存)

    第一种是直接拖拽那个DLL文件到 系统盘的\windows\assembly这个文件夹下
    第二种是通过VS自带的 Command Prompt 这个适用工具下 使用 “gacutil -i DLL文件”这命令 来注册

    我想问一下有什么方法能不使用Visual Studio 2008 Command Prompt这个实用工具 以及拖拽 将自己的DLL文件注册到全局程序集缓存
     
    我试过直接复制 但是不成功

    因为有些程序在用户机器上运行你不可能要求用户将这个DLL文件拖拽到全局程序集缓存那个文件夹下
    也不可能每个程序里面带个Command Prompt使用工具。。

    还希望知道的朋友赐教~谢谢!

    2009年12月10日 13:39

答案

  • 你好!
         你可以在“安装项目”中很轻松的完成这个工作!
         首先创建一个“安装项目”,添加需要部署到GAC中的程序集(用强名称签名的程序集才可以),然后
         选中解决方案资源管理器中“你的安装项目”节点,然后,菜单-》视图-》编辑器-》文件系统-》目标计算机上的文件系统-》右键-》添加特殊的文件夹-》Global Assembly Cache文件夹
         在解决方案资源管理器选中刚才添加的程序集-》属性窗口中找到Folder属性,设置成Global Assembly Cache文件夹

         这样在安装的同时,这个程序集可以自动部署到用户的GAC中了,不用用户自己操作了!
    周雪峰
    • 已标记为答案 magic_os 2009年12月11日 3:01
    2009年12月10日 17:45
    版主

全部回复

  • 你好!
         你可以在“安装项目”中很轻松的完成这个工作!
         首先创建一个“安装项目”,添加需要部署到GAC中的程序集(用强名称签名的程序集才可以),然后
         选中解决方案资源管理器中“你的安装项目”节点,然后,菜单-》视图-》编辑器-》文件系统-》目标计算机上的文件系统-》右键-》添加特殊的文件夹-》Global Assembly Cache文件夹
         在解决方案资源管理器选中刚才添加的程序集-》属性窗口中找到Folder属性,设置成Global Assembly Cache文件夹

         这样在安装的同时,这个程序集可以自动部署到用户的GAC中了,不用用户自己操作了!
    周雪峰
    • 已标记为答案 magic_os 2009年12月11日 3:01
    2009年12月10日 17:45
    版主
  • 非常感谢~!^_^
    2009年12月11日 3:01
  • 不客气啊!
    周雪峰
    2009年12月11日 4:08
    版主