【问题标题】:VS2015 build error: Cannot add the specified assembly to the global assembly cacheVS2015构建错误:无法将指定程序集添加到全局程序集缓存
【发布时间】:2016-03-31 14:38:32
【问题描述】:

我正在尝试将 GAC 部署到共享点。部署失败并显示以下错误消息:

部署步骤“添加解决方案”中发生错误:错误:无法将指定程序集添加到全局程序集缓存:Microsoft.Practices.Sharepoint.Common.dll

问题是C:\Windows\Microsoft.NET\assembly\GAC_MSIL\Microsoft.Practices.SharePoint.Common\v4.0_2.0.0.0__ef4330804b3c4129\ 文件夹中提到的.dll 被另一个名为Microsoft.Alm.Shared.Remoting.RemoteContainer.dll 的.dll 以某种方式锁定。

只有一个可行的解决方案是重新启动 windows 服务器,但是一旦我尝试部署更新的版本,问题就会再次发生。

有没有其他解决方案如何防止阻塞这个和其他类似的dll?

谢谢

【问题讨论】:

  • 您是否能够构建解决方案以生成解决方案文件,然后使用 powershell cmdlet Add-SPSolutionUpdate-SPSolution 将解决方案添加到场?您应该能够使用 -GacDeployment 标志让解决方案自动将 DLL 添加到 GAC。
  • 抱歉回答晚了。不,使用 powershell 无助于解决问题。在我看来,VS 2015 会阻止自己。因为重启后清理 |建立 | deploy 有助于解决问题。

标签: .net visual-studio sharepoint dll windows-server-2012-r2


【解决方案1】:

名为 Microsoft.Alm.Shared.Remoting.RemoteContainer.dll 的进程在 Visual Studio IDE 中提供了“CodeLens”功能。此功能在 VS 中提供了一些不错的功能,例如在声明上方实时显示对函数的引用、源代码控制状态、测试状态等。

如果您在 Visual Studio 中禁用“CodeLens”,问题就会消失

Visual Studio 选项 > 文本编辑器 > 所有语言 > 代码镜头

如果您不想一直在该计算机上禁用 CodeLens,您可以在部署前杀死 Microsoft.Alm.Shared.Remoting.RemoteContainer.dll。这将暂时禁用所有正在运行的 Visual Studio 实例中的 CodeLens,但重启 Visual Studio 后 CodeLens 将再次工作。

要在尝试将程序集注册到 GAC(全局程序集缓存)之前自动终止进程,请在调用 gacutil 之前将以下命令添加到同一位置:

taskkill /f /im Microsoft.Alm.Shared.Remoting.RemoteContainer.dll

问题的实际触发因素是解决方案中的至少一个项目从 Visual Studio IDE 中的 GAC 加载程序集 Microsoft.Practices.Sharepoint.Common.dll。您可以通过将程序集引用指向 GAC 之外的 Microsoft.Practices.Sharepoint.Common.dll 版本来防止这种情况发生。


问题也是discussed at Microsoft Connect。 Microsoft 不认为这是一个错误,并表示不建议向 GAC 注册程序集并在构建期间使用 GAC 中的程序集。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题“部署步骤“添加解决方案”中发生错误:错误:无法将指定的程序集添加到全局程序集缓存:itextsharp.dll。”我卸载了 itextsharp。来自 GAC 的 dll 并解决了问题。

    【讨论】:

    • 虽然错误的结构是相同的,但它显然与不同的程序集有关——并且不太可能解释这里讨论的具体问题(四年前已经回答了)。它也没有为解决这些类型的问题提供良好的一般指导,因为卸载库通常不是一种选择。这有点像有人说他们的应用程序有错误,并建议不使用该应用程序可以修复它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多