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