开发 SharePoint 时候发现部署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一项

       

Sharepoint  Debug&TroubleShooting 如何在Windows 2008中部署dll到GAC
 


   1.2 以Administrator方式打开Command Prompt命令窗口
   1.3 输入如下命令
   64 bit 

 C:Program FilesMicrosoft SDKsWindows 6.1Bindgacutil.exe /i 你的DLL文件名 

 eg:
  C:Program FilesMicrosoft SDKsWindows 6.1Bindgacutil.exe /i   D:MytestEventItemDoLogEventHandler.dll

   

   32 bit 

C:Program FilesMicrosoft SDKsWindows 6.1Bingacutil.exe /i 你的DLL文件名 
eg:
C:Program FilesMicrosoft SDKsWindows 6.
1Bingacutil.exe /i   D:MytestEventItemDoLogEventHandler.dll


2. Disable User Account Control(关闭UAC)
 因为会影响到系统的安全配置,降低系统的安全级别,所以一般不推荐使用此方式。如果使用此方法,就是修改完UAC后,必须重启服务器,然后才能重新部署程序集(部署时仍然可以采用拖拽的方式来部署dll文件到GAC中),具体操作可以采用以下方式:
  2.1 关闭UAC,重启系统。
  2.2 创建一个快捷方式,目标为:%SystemRoot%explorer.exe C:ssembly,接着以管理员的身份运行这个快捷方式,此时便可对GAC进行操作。如果需要部署程序集到GAC中,则使用相同的方式,创建一个快捷方式,目标为:%SystemRoot%explorer.exe 目标dll文件的路径(如:D:in),此时便可以以直接将程序集拖拽到GAC的方式部署程序集

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注