我试图从Windows Server 2008上的C:\ Windows \ Assembly“文件夹”中卸载DLL,但得到“权限被拒绝”错误。 如何在不卸载整个应用程序的情况下去除DLL?
应用程序供应商向我发送了新的DLL,没有关于如何删除旧版本或添加这些新版本的说明。 谷歌一直没有像往常一样有帮助,要么…
这在之前并不奏效,但幸好我的最后一次尝试完成了。 去搞清楚…
我发现服务器上的gacutil.exe ,并运行gacutil -u dllName.DLL安装新的DLL只是简单的gacutil -i "PathAndFilenameOfNewDLL"
http://msdn.microsoft.com/en-us/library/zykhfde0%28VS.80%29.aspx
我知道我迟到了派对,但是如果你没有gacutil.exe的话,这里还有一个使用Powershell的解决scheme。 Gacutil是一个开发工具,通常不在生产系统上。
通过右键单击PowerShell并select“以pipe理员身份运行”来启动PowerShell。 然后键入或复制/粘贴以下内容:
$pathToFile = 'PathAndFilename.dll' [System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a") $publish = New-Object System.EnterpriseServices.Internal.Publish $publish.GacRemove($pathToFile)
如果您想要将副本安装到GAC,请将最后一行更改为:
$publish.GacInstall($pathToFile)
把gacutil / u放在cmd文件中,右键单击并selectRun As Administrator(以pipe理员身份运行)。 这一切工作的地方一切build议失败。