?开发 SharePoint 2010 时候发现部署GAC不成功,经查资料,发现Windows Server 2008中的GAC路径有所变化,如果采用直接拖拽的方式,则会出现"Access is Denied"提示。
有以下两种方式解决在Windows Server2008下部署DLL到GAC问题
1.使用 gacutil.exe,操作步骤如下
? 1.1 首先需要下载Windows SDK 6.1 (Free from Microsoft – Download).
???? ? 注意:在安装Windows SDK时,你只需要选择 .Net Development Tools一项
???????
?? 1.2 以Administrator方式打开Command Prompt命令窗口
?? 1.3 输入如下命令
?? 64 bit?
???
?? 32 bit?
C:Program?FilesMicrosoft?SDKsWindows 6.1Bingacutil.exe?/i?你的DLL文件名?
2. Disable User Account Control(关闭UAC)
?因为会影响到系统的安全配置,降低系统的安全级别,所以一般不推荐使用此方式。如果使用此方法,就是修改完UAC后,必须重启服务器,然后才能重新部署程序集(部署时仍然可以采用拖拽的方式来部署dll文件到GAC中),具体操作可以采用以下方式:
? 2.1 关闭UAC,重启系统。
? 2.2 创建一个快捷方式,目标为:%SystemRoot%explorer.exe C:Windowsssembly,接着以管理员的身份运行这个快捷方式,此时便可对GAC进行操作。如果需要部署程序集到GAC中,则使用相同的方式,创建一个快捷方式,目标为:%SystemRoot%explorer.exe 目标dll文件的路径(如:D:in),此时便可以以直接将程序集拖拽到GAC的方式部署程序集
……