savedquery 元素的內容不完整。 預期的可能元素清單:匯入 Microsoft Dynamics 365 解決方案時發生 LocalizedNames 錯誤
本文提供您嘗試匯入 Microsoft Dynamics 365 解決方案時所發生錯誤的解決方案。
適用于: Microsoft Dynamics 365
原始 KB 編號: 4463330
徵狀
嘗試在 Dynamics 365 中匯入解決方案時,您會收到下列錯誤:
「無法匯入此方案套件,因為它包含不正確 XML。 您可以嘗試使用架構驗證錯誤中找到的資訊手動編輯 XML 內容來修復檔案,也可以連絡您的解決方案提供者。 錯誤碼 8004801a。」
如果您選取 [技術詳細資料],您會看到下列訊息以及其他錯誤詳細資料:
「壓縮方案套件檔案內customizations.xml檔案的架構驗證失敗。 若要手動驗證和編輯檔案,您可以 在這裡 下載架構檔案,並使用支援架構驗證的 XML 編輯器來取得更多詳細資料。」
顯示更多詳細資料的文字方塊包含下列資訊:
「元素 'savedquery' 的內容不完整。 預期的可能元素清單:'LocalizedNames'。」
此文字方塊也包含額外的詳細資料,例如用於已儲存查詢的 FetchXML (檢視) 。
原因
此錯誤表示已儲存的查詢 (檢視) 包含在方案中,而該已儲存查詢定義的 XML 缺少 LocalizedNames 區段。 如果有人手動修改了customizations.xml檔案,就可能發生此情況。
解決方案
若要允許成功匯入解決方案,必須新增儲存查詢之 XML 內的 LocalizedNames 區段。
將解決方案的內容解壓縮.zip您嘗試匯入的檔案。
在文字編輯器中開啟customization.xml檔案。
請參閱應包含已儲存查詢之 fetchxml 區段部分的錯誤詳細資料。 您可能需要尋找這個 XML 的唯一區段,然後在customization.xml檔案中搜尋,以尋找相符的已儲存查詢。
找到錯誤詳細資料中參考的已儲存查詢之後,請更新 XML 以包含 LocalizedNames 區段。 以下提供已儲存查詢的範例,其中包含遺漏區段。
<savedquery unmodified="1"> <isquickfindquery>0</isquickfindquery> <isprivate>0</isprivate> <isdefault>0</isdefault> <savedqueryid>{65ffaf9a-e8c5-432d-860b-32f841b00d87}</savedqueryid> <queryapi></queryapi> <layoutxml> <grid name="resultset" jump="name" select="1" icon="1" preview="1"> <row name="result" id="accountid"> <cell name="name" width="300" /> <cell name="telephone1" width="100" /> <cell name="address1_city" width="100" /> <cell name="primarycontactid" width="150" /> <cell name="accountprimarycontactidcontactcontactid.emailaddress1" width="150" disableSorting="1" /> <cell name="statecode" width="100" /> </row> </grid> </layoutxml> <querytype>0</querytype> <fetchxml> <fetch version="1.0" output-format="xml-platform" mapping="logical"> <entity name="account"> <attribute name="name" /> <attribute name="telephone1" /> <attribute name="address1_city" /> <attribute name="primarycontactid" /> <link-entity alias="accountprimarycontactidcontactcontactid" name="contact" from="contactid" to="primarycontactid" link-type="outer" visible="false"> <attribute name="emailaddress1" /> </link-entity> <attribute name="statecode" /> </entity> </fetch> </fetchxml> <IntroducedVersion>9.0.0.0</IntroducedVersion> <LocalizedNames> <LocalizedName description="All Accounts" languagecode="1033" /> </LocalizedNames> </savedquery>
更正 XML 之後,請選取您從方案檔擷取的所有元件,並將其傳送至新的.zip檔。
再次嘗試匯入解決方案。
注意事項
如果有多個已儲存的查詢 (檢視) 遺漏 < LocalizedNames > 區段,則可能需要針對每個檢視重複步驟。
其他資訊
如果您不確定要為此區段提供的正確儲存查詢 (檢視) 名稱,您可以使用 savedqueryid
值和 Dynamics 365 WebAPI 來尋找名稱。 在上述範例中 savedqueryid
,此值為 65ffaf9a-e8c5-432d-860b-32f841b00d87。 然後,您可以在網頁瀏覽器中存取下列 URL,以傳回檢視的名稱:
https://<your dynamics 365 URL>/api/data/v9.0/savedqueries(<savedqueryid>)?$select=name
範例:
https://contoso.crm.dynamics.com/api/data/v9.0/savedqueries(65ffaf9a-e8c5-432d-860b-32f841b00d87)?$select=name