1

いくつかのカスタマイズを開発環境からテスト環境に移行しようとしています。ソリューションに必要なものはすべて揃っています。これをテスト環境にインポートすると、エラーで失敗します。

同じキーを持つアイテムが既に追加されています。

ソリューションのインポート画面からダウンロードしたエラー ファイルでは、インシデント エンティティのフォーム ItemType に対してリストされています。私のソリューションには新しいカスタム フォームが含まれており、2 つの既定の「情報」フォームの定義も含まれています。

詳細なトレースを使用すると、xml 文字列でエラーを確認できます。

<formXml LocalizedName="Case" OriginalName="Case"
         Description="Service request case associated with a contract."
         id="Incident" processed="true">
    <result result="failure" errorcode="0x80044150"
            errortext="An item with the same key has already been added."
            datetime="09:52:28.65" datetimeticks="635049859486557248" />
</formXml>

これは entitySubhandlers ノード内にあります。ただし、問題が何であるかを正確に特定するものは何もありません。何か案は?ありがとう。

4

6 に答える 6

2

今日同じ問題に遭遇し、解決策を見つけました。

CRM には、表示名、名前、および物理 (データベース列) 名があります。何らかの理由で、物理名が大文字で生成される場合とそうでない場合があります。

私のシナリオ: フィールド "Field 1" (表示 - 名前 - 物理) との接触 開発環境: "Field 1" "new_field1" "new_Field1" テスト環境: "Field 1" "newfield1" "new_field1" => ないことに注意ここに大文字のF

dev のフィールドを削除して再作成したときに発生しました。以前の物理名は dev で「new_Field1」でしたが、現在は「new_field1」です。

Web で見つけた推奨される解決策は、フィールドを削除して再作成することです。それは明らかに私にはうまくいきませんが、あなたにはうまくいくかもしれません。参照: https://community.dynamics.com/crm/b/crmpowerobjects/archive/2013/07/01/field-is-not-unique-error-when-importing-a-solution-in-crm-2011. aspx

私の解決策は、データベース内のフィールドを直接更新することでした (CRM オンライン環境がある場合、これを行うことはできません。CRM 2011 オンプレミス ロールアップ 15、SQL サーバー 2008 R2 SP1 を使用しています)。テーブル スキーマ + Metadataschema.Attributes 内のレコードの物理名を変更する必要があります。これは MS によってサポートされていないため、自己責任で行い、完全なバックアップを取ってください。

于 2014-03-04T12:20:38.163 に答える