1

在 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.Dictionary2.Add(TKey key, TValue value) 在 Microsoft.SharePoint.Tools.SharePointProxies.WSPViewFacade.CreateWebPartReferenceResolverClassMap(String[] paths) 在 VSeWSS.Server .Services.SPService.CreateWebPartReferenceResolverClassMap(String[] 路径)

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

4

5 回答 5

1

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

尝试:

  • 清洁溶液
  • 关闭并重新打开 Visual Studio

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

  • 从 Sharepoint 中手动删除已部署的代码
  • 你有最新版本的 vsewss 工具吗?
  • 你有 webpart 项目之间的引用吗?
  • pkg 目录中的任何文件是只读的吗
于 2009-11-02T18:47:49.820 回答
1

我也有这个问题。

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

当我从解决方案中排除 DLL 时,Webpart 已部署

于 2009-11-05T11:58:15.530 回答
1

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

于 2010-08-20T22:40:04.193 回答
0

您能否尝试 VSeWSS dll 中的 .NET Reflector 并检查 Microsoft.SharePoint.Tools.SharePointProxies.WSPViewFacade 类中的 CreateWebPartReferenceResolverClassMap 方法正在执行的实际代码?这可能会为您提供有关在哪里查看您自己的解决方案的更深入的信息。

于 2009-11-02T18:12:57.067 回答
0

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

在我们获得 VS2010 之前,我们将不得不继续努力,此时我可以开始提交连接错误。

于 2009-11-03T16:55:32.110 回答