VSeWSS“已添加具有相同密钥的项目”

时间:2009-11-02 18:09:19

标签: visual-studio sharepoint vsewss

在VSeWSS部署的打包阶段,抛出异常。从日志中:

  

2009/11/02 11:59:46错误   System.ArgumentException:带有的项目   已添加相同的密钥。
  在   System.ThrowHelper.ThrowArgumentException(ExceptionResource   资源)   System.Collections.Generic.Dictionary 2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary 2.添加(TKEY的   关键,TValue价值)at   Microsoft.SharePoint.Tools.SharePointProxies.WSPViewFacade.CreateWebPartReferenceResolverClassMap(字符串[]   路径)   VSeWSS.Server.Services.SPService.CreateWebPartReferenceResolverClassMap(字符串[]   路径)

有没有人见过这个?我已经检查了所有的feature.xml文件和我的solution.xml,看看是否有任何id被复制,但它们不是。我还检查了功能的名称,它们也没有重复。任何提示?

5 个答案:

答案 0 :(得分:1)

这可能是vsewss中的一个错误。问题是,它记得上次添加相同的项目。

尝试:

  • 清洁解决方案
  • 关闭并重新打开Visual Studio

编辑:还有一些事情需要尝试

  • 从Sharepoint手动删除已部署的代码
  • 您是否拥有最新版本的vsewss工具?
  • 您是否在webpart项目之间有参考?
  • pkg目录中的任何文件是否只读

答案 1 :(得分:1)

我也有这个问题。

归结为我在本地附加了另一个DLL,我正在引用它。这已经部署在以前的项目中。

当我从解决方案中排除DLL时,部署了webpart

答案 2 :(得分:1)

检查manifest.xml文件中每个失败的项目 - 删除重复的程序集引用以解决此问题。

答案 3 :(得分:0)

你能尝试。在VSeWSS dll中使用Reflector并检查Microsoft.SharePoint.Tools.SharePointProxies.WSPViewFacade类中CreateWebPartReferenceResolverClassMap方法执行的实际代码吗?这可能会为您提供有关在自己的解决方案中查找位置的更深入信息。

答案 4 :(得分:0)

我终于完全重建了这个项目,一切都很顺利。我通常会向MS Connect提交类似的内容,但他们无法解决这个问题。 VSeWSS作为VS2008插件是完全死的产品。

在我们获得VS2010之前,我们必须继续奋斗,此时我可以开始提交连接错误。