从TDS中的sitecore获取项目失败

时间:2014-04-30 08:10:02

标签: synchronization sitecore tds

当我尝试在TDS项目中从Sitecore获取一些项目时,我收到此错误:

"已添加具有相同键的项目。与TDS服务通信时出错。有关详细信息,请参阅Sitecore服务器上的应用程序异常日志。"

奇怪的是该项目最终被添加到TDS项目中。我也在使用自定义数据提供程序。

到目前为止我一直在尝试:

  1. 创建新的TDS项目,第一次获取项目没有问题,但是如果我删除它们后来决定从SC获取它们会得到同样的错误。
  2. 验证商品只有一个版本和语言
  3. 关闭"代码生成"
  4. DataProvider中的版本和语言可能存在问题,但我检查过它看起来没问题。

6 个答案:

答案 0 :(得分:7)

当您从TDS项目中删除项目然后再次同步时,可能会出现问题。 TDS保留了添加到项目中的密钥缓存,如果通过选择它们并在解决方案资源管理器中删除它们而从Visual Studio项目中删除这些项目似乎无法删除这些缓存的密钥。

我找到解决该问题的唯一方法是关闭Visual Studio并重新加载。

答案 1 :(得分:0)

TDS不支持使用同名的兄弟项目,这就是您看到此错误的原因。尝试重命名重复的命名项,看看是否允许同步工作。

答案 2 :(得分:0)

几周前我也碰到了这个问题 - 经过一番调查后我意识到错误An item with the same key has already been added实际上是由TDS抛出的.net错误。我不认为(至少在我的情况下)它与TDS项目冲突有关。虽然我从来没有发现实际问题是什么 - 弹跳应用程序池似乎有所帮助。

答案 3 :(得分:0)

感谢大家的帮助!不知怎的,我设法修复了这个项目。根据我尝试过的事情,如果有人遇到类似的问题,你可以试试这些:

  1. “错误合并” - 合并到复制字段时可能会导致同样的问题。
  2. 确保您在同一级别上没有相同名称的项目(具有相同ID的项目肯定会重现相同的错误)
  3. 如果您使用自定义数据提供程序,请确保它不会创建无用的项目版本或添加无用的语言。检查此主题:Sitecore Custom Data Provider doubles language versions?
  4. 正如理查德所说,TDS有缓存所以重新启动VS可能有所帮助。
  5. 希望这会有所帮助!

答案 4 :(得分:0)

TDS缓存存储在项目目录中的obj文件夹下。 尝试删除此文件夹并重新启动TDS的代码生成。

答案 5 :(得分:0)

是的,重新启动visual studio有助于清除缓存。另外,请确保以管理员模式重新启动VS。