Почему объект в AOT отмечен красным крестом? - PullRequest
0 голосов
/ 25 января 2019

Мне нужно расширить запрос отчета, чтобы добавить новое поле.Я создал расширение запроса, подключил необходимые источники данных и вижу новое поле в списке полей.По какой-то причине отчет в AOT отображается со знаком красного креста:

enter image description here

В свойствах я вижу ошибку в метаданных: «Произошла ошибкачтение метаданных. Убедитесь, что XML-файл метаданных доступен, правильно сформирован и не поврежден дублирующимися или отсутствующими XML-элементами. Сообщение об исключении: Элемент с именем: «Copy1» типа «ModelElement» уже существует среди элементов:'Copy1'. Имя параметра: элемент Дополнительная информация: AOT / Reports / Reports / WHSInvent "

. В локальном каталоге пакетов содержится XML-файл этого объекта, в любом узле этого отчета нет повторяющихся имен..

Есть идеи, как это можно исправить?

1 Ответ

0 голосов
/ 30 января 2019

Я сталкивался с этим раньше, и мне на ум приходят две вещи.

  1. Часто это происходит из-за неправильного слияния, когда изменения объединяются и метаданные случайно дублируются (в вашем случае возможно, что в .rdl есть два узла xml с одинаковым именем / идентификатором).файл) Если этот отчет отмечен поврежденными метаданными, вам нужно вручную изменить файл RDL, что не очень хорошо, но, надеюсь, ошибка содержит достаточно подсказок.Откройте файл отчета rdl в своем любимом редакторе (отчет, вероятно, находится по пути, аналогичному следующему: K: \ AosService \ PackagesLocalDirectory \ YOURMODEL \ Reports) и найдите узел xml с атрибутом Name = "Copy1".При удаче у вас есть два дублирующих узла рядом друг с другом из-за слияния.Удалите поврежденный дубликат узла, сохраните и обновите AOT в Visual Studio.

  2. Если ошибка присутствует только в ваших локальных изменениях (файл xml поврежден по какой-либо причине), и вы уверены, что в вашем контроле исходного кода содержится правильная версия, и вы просто хотите перезаписать локальный файлсодержимое с версией, контролируемой источником, выполните следующие действия. Примечание : это заменит локальные изменения.

Сначала отмените ожидающие изменения.

UndoPendingChanges

Затем принудительно получите последние:

GetSpecificVersion1 GetSpecificVersion2

...