如何让程序集在编译时自动添加到GAC

  如果你的工程在调试时需要某些程序集存在于GAC,但那些程序集是你另外的工程编译时生成的,或者因为其它原因是动态变化的,那么最好的做法是在编译该工程时就把这些程序集重新添加到GAC中。

  如果因为部署等工作导致你的GAC中存在你工程的程序集,而使你不能加断点调试等,而这种事情又经常发生,那么在编译该工程时就把这些程序集重新添加到GAC中也不失为一个好的解决方案。

  让程序集在编译时自动添加到GAC的思路很简单,就是写一个批处理文件,然后在工程的生成事件中调用这个批处理文件。具体实现如下:

  1. 在你工程的目录下创建一个Register.bat文件,在批处理中调用微软gacutil.exe工具,gacutil.exe工具的位置根据你操作系统版本好不同而不同,XP是v6.0A,而Vista和Win7则是v7.0A。这里假设你有2个项目:MyProject1和MyProject2,MyProject1是个可执行文件,而MyProject2是个动态链接库。

@ECHO OFF

SET PATH=%PATH%;C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin;

set solutionPath=C:\Users\cyljxu\Documents\Visual Studio 2008\Projects\WindowsFormsApplication17\

gacutil /if "%solutionPath%MyProject1\bin\%~1\MyProject1.exe"
gacutil /if "%solutionPath%MyProject2\bin\%~1\MyProject2.dll"

EXIT 0

  注意:\bin\%~1\后面的%~1指的是的编译配置,比如Debug或者Release等,这将在Build Event的参数中传入

  2. 打开项目的属性页面,然后添加一个Post-build event command line:

call "$(ProjectDir)Register.bat" "$(ConfigurationName)"

2010082316572357.png

   

  需要注意的事项:

  1. 凡是要加入GAC的程序集都需要签名。

  2. 由于gacutil命令需要管理员权限,所以在Vista和Win7下你必须以管理员方式运行IDE。

 

  

 

 

转载于:https://www.cnblogs.com/VisualStudioDesigner/archive/2010/08/23/1806613.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值