问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何打包及安装dll文件安装到GAC

发布网友 发布时间:2022-05-05 00:52

我来回答

1个回答

热心网友 时间:2022-04-27 18:35

vs2010打包步骤:
1. 新建setup project项目。打开vs2010,选择 Fill>>New>>Project…,弹出New Project窗口,左边选择Installed Templates>>Other Project Types>>Setup and Deployment,右边选择Setup Project。Project命名为Setup,点击OK按钮。
如何打包及安装dll文件安装到GAC

2. 添加文件。在Application Folder里面添加应用程序的可执行文件和相应的类库(.exe .dll)。
如何打包及安装dll文件安装到GAC

3. 创建快捷方式。右键点击.exe文件,选择Create Shortcut to…,把快捷键剪切到User’s Desktop和User’s Programs Menu,这样在桌面和开始菜单就会创建快捷方式。

如何打包及安装dll文件安装到GAC
4. 选择安装目录。默认安装目录是"c:\programm file\你的用户名、安装解决方案名称",选择Application Folder>>Properties Window,修改Application Folder的defaultlocation属性,可以自己制定安装目录。

5. 卸载。把文件"c:\windows\system32\msiexec.exe"添加到Application Folder,重命名为UnInstall.exe,选择UnInstall.exe>>Create Shortcut to UnInstall.exe,把Shortcut to UnInstall.exe剪切到User’s Programs Menu。

6. 生成。Build>>Build Solution,找到”.. Setup\Setup\Debug\Setup.msi”,这就是打包好的安装文件。

把dll文件安装到GAC:
1. 生成一个密钥对。新建文件夹c:\mykeys,用来存放密钥。打开vs command prompt,输入sn命令“sn -k ‘c:\ mykeys\gackey.snk’”,按Enter,在c:\mykeys会发现gackey.snk。

2. 把密钥与dll关联。打开要打包的项目,选择生成dll的类库>>Properties>>AssemblyInfo.cs,在AssemblyInfo.cs中添加属性AssemblyKeyFile 为[assembly:AssemblyKeyFile("c:\\mykeys\\gackey.snk")]。

3. 把dll文件安装到GAC。打开setup project项目,选择Fill>>System on Target Machine>>Add Special Folder>>Global Assembly Cache Folder,把拥有密钥对的dll文件添加到Global Assembly Cache Folder。

4. 生成。Build>>Build Solution。

5. 验证。安装好Setup.msi后,可以在” C:\Windows\Microsoft.NET\assembly\GAC_MSIL”找到安装好的dll文件。

在项目中引用安装好的dll:
新建项目test,在Solution Explorer中选择References>>Add Reference…,弹出Add Reference对话框,在.NET下可以找到安装好的dll文件Test_Lib。如图

如何打包及安装dll文件安装到GAC
如果在.NET找不到Test_Lib,那就需要注册Test_Lib.dll。步骤如下

1. 打开注册表。在运行的命令行输入regedit,按Enter。

2. 导航到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\。

3. 选择AssemblyFolders>>New>>Key,命名为MyAssembly。
4. 双击MyAssembly默认的值,输入Test_Lib.dll的全路径” C:\Windows\Microsoft.NET\assembly\GAC_MSIL”。

5. 关闭注册表,重新打开项目test,再选择References>>Add Reference…时,在.NET下就可以找到Test_Lib了。

什么是GAC:
1. GAC全称Global Assembly Cache,即全局程序集缓存。GAC存放在系统目录”%winroot%\assembly”下面,你不能通过窗口如”C:\windows\assembly\yourAssembly.dll”来直接获取yourAssembly.dll,必须在dos下输入” C:\windows\assembly\GAC_MSIL\”才能获取yourAssembly.dll。

2. GAC的作用是可以存放一些有很多程序都要用到的公共Assembly,例如System.Data、System.Windows.Forms等等。这样,很多程序就可以从GAC里面取得Assembly,而不需要吧所以用到的Assembly都拷贝到应用程序的执行目录下面。举例而言,如果没有GAC,那么势必每个WinForm程序的目录下就都有从C:\windows\Microsoft.NET\Framework\v1.0.3705下面拷贝一份System.Windows.Forms.dll,这样显然不如都从GAC里面取用方便,也有利于Assembly的升级和版本控制。

http://tech.ddvip.com/2009-06/1244621593123155_2.html
http://www.cnblogs.com/jhxk/articles/1612433.html
http://soaspx.com/dotnet/csharp/csharp_20100701_4956.html
http://tech.it168.com/KnowledgeBase/Articles/1/8/8/1883b14dc241af8af78e2aa52c33064b.htm
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
华为freebuds4i切歌怎么操作_华为freebuds4i怎么切歌 华为freebuds pro切歌方法_华为freebuds pro怎么切歌 华为耳机怎么切换下一曲 欧美电影,好像是宠物有一个世界,宠物会想办法跟主人的灵魂互换占据 ...的名字,欧洲中世纪,一个王子的继母把他的灵魂和狗的灵魂互换了... 问一部外国电影的名字 剧情记得不大清楚l了 是前几年的片子 灵魂互换的... HUAWEI 华为 AGS2-W09 10.1英寸平板电脑 (香槟金、64GB+4GB、WiFi版... 诛仙3百法和千法差距大吗 微信怎么解除应用授权登录 授权应用删除方法 微信怎么解除应用授权登录授权应用删除方法 在思科三层设备中配置IP地址在什么模式下? A全局配置模式 B线路配置模式 C接口配置模式 D路由配置模式 c盘哪些文件可以删除?我的系统是win7的。 program files、programData、用户 这三个文件夹能删吗? 更新与补丁都必须放在C盘里吗?怎么C盘就越来越小呢? 急!!!为什么利用npm install 安装插件会包错? 为什么我全局安装了jade,还是不能用jade命令 西安市高陵区公安局2021十月一放假可以办身份证吗 2021年十月一日南京儿童医院放假吗? 高考5b铅笔能识别吗? 国考幼师资格证时一定是可以用5b铅笔吗? 有这种可以加卡通加表情的P图软件是啥? 5b的铅笔写字好不好用 很多正规考试都规定用2B铅笔,请问有谁知道如果用了3B行吗? 有用过5b 铅笔考过试的吗?给分吗? 完了,我考试用的5B铅笔涂答题卡,0分了 我考试用了5b铅笔,会得0分吗? 考试用了5B铅笔电脑可以识别吗 可以把图片做成表情包的P图软件 四级考试用5B 的铅笔涂答题卡行么 考试涂卡一定要用2B铅笔吗?可不可用3B.5B铅笔? 高考错用了5B的铅笔会影响成绩吗? 在路由器上从面哪个模式可以进行接口配置模式(B) A用户模式 B特权模式 C全局配置模式 D以上都是 C盘空间突然变成0 C/c++关于全局钩子dLL的回调函数 在windows中,如果要安装windows附加组件,应选择什么呀 用flash player 打开swf文件,全局设置时提示无法找到C:\Windows\system32\rundll32.exe nodejs 安装supervisor时出错 怎么进行炒作? 怎样炒作微博超话? 如何做才能当好一名优秀班主任 怎么发微博炒作啊? 作为一个教育者,如何成为优秀班主任? 在新浪微博上怎样自我炒作 微博要怎么炒作? 谁能做微博话题榜炒作? 佳人塞北我江南,三生有辛结情缘。朝朝幕幕祈相聚,敢问皇天赐何年? 怎样让自己发的新浪微博成为热门话题?有专门炒作的群吗? 怎么在网上炒作一个话题 四川建设厅长和成都市副市长职位哪个高? 怎么做一位优秀的班主任 军区大校和省会城市副*谁的级别更高?例如成都军区大校和成都市副*谁的级别更高?