2

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

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

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

我到目前为止所尝试的:

  1. 创建新的 TDS 项目,第一次获取项目时没有问题,但如果我删除它们,然后决定从 SC 获取它们,则会出现相同的错误。
  2. 已验证项目只有一个版本和语言
  3. 关闭“代码生成”
  4. DataProvider 中的版本和语言可能存在问题,但我检查了它,看起来没问题。
4

6 回答 6

7

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

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

于 2014-04-30T14:56:32.193 回答
0

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

于 2014-05-01T01:45:00.493 回答
0

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

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

希望这会有所帮助!

于 2014-05-02T08:20:20.327 回答
0

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

于 2014-04-30T10:40:09.300 回答
0

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

于 2015-12-03T03:59:08.263 回答
0

是的,重新启动 Visual Studio 有助于清除缓存。还要确保以管理员模式重新启动 VS。

于 2016-01-27T13:42:21.677 回答