2

TDS プロジェクトで Sitecore からいくつかのアイテムを取得しようとすると、次のエラーが発生します。

「同じキーを持つアイテムが既に追加されています。TDS サービスとの通信中にエラーが発生しました。詳細については、Sitecore サーバーのアプリケーション例外ログを参照してください。」

奇妙なことに、アイテムは最終的に TDS プロジェクトに追加されます。また、カスタム データ プロバイダーを使用しています。

私が今まで試したこと:

  1. 新しい TDS プロジェクトを作成し、アイテムを初めて取得したときは問題ありませんが、それらを削除して後で SC から取得しようとすると、同じエラーが発生します。
  2. アイテムのバージョンと言語が 1 つだけであることを確認しました
  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

TDS キャッシュは、プロジェクト ディレクトリの obj フォルダーに格納されます。このフォルダーを削除して、TDS のコード生成を再開してください。

于 2015-12-03T03:59:08.263 に答える
0

はい、Visual Studio を再起動すると、キャッシュがクリアされました。また、管理モードで VS を再起動してください。

于 2016-01-27T13:42:21.677 に答える
0

TDS は、同じ名前の兄弟アイテムを持つことをサポートしていないため、このエラーが表示されます。重複する名前付きアイテムの名前を変更して、同期が機能するかどうかを確認してください。

于 2014-04-30T10:40:09.300 に答える