为什么我必须从GAC卸载dll才能获得构建解决方案?

时间:2013-10-10 19:17:41

标签: sharepoint-2010

我们有一个解决方案,可能包含10个SharePoint项目和许多支持Dll。为了使我的项目能够构建,我通常需要转到GAC并从GAC卸载与我们项目相关的所有库。

如果我不这样做,我会收到错误,说明无法解决这些项目或依赖于这些项目的项目的引用。

发生了什么事?

为什么我的团队中有些人没有这个问题。我们都从源代码控制中做同样的事情。

2 个答案:

答案 0 :(得分:0)

通常GAC dll的优先级高于本地程序集。因此,如果您的dll部署在GAC中,那么您的应用程序将引用位于那里的那些(通过本地打包到bin目录的那些)。

所以有人猜测GAC dll已经过时了(缺少你刚刚在代码中添加的类,方法,属性),这就是你的项目无法构建的原因。

答案 1 :(得分:0)

我不确定发生了什么,但我知道造成这种情况的原因。我的机器上安装了VS2013 RC。如果我再次运行VS 2012安装程序并运行修复,它将解决这些问题。 我再次尝试运行VS 2013 RC安装程序(修复模式)并再次破坏它。所以我重新修复了VS2012安装程序并再次解决了我的问题。所以VS 2013一直在为我打破这个解决方案。 这将解决2012年的此解决方案,但它不再适用于VS 2013.

当我安装了VS 2012预览版时,我确实看到了这些问题,但实际上它们已经消失了,我无法分辨出修复它的原因。通过预览,虽然它有点不一致,但我可以在我的解决方案中使用两个VS版本。使用RC看起来我只能让VS 2012工作。