为什么AOT中的对象用红叉标记?

Why is object in AOT marked with red cross?

我必须扩展报告的查询以添加新字段。 我已经创建了查询的扩展,加入了所需的数据源,并且可以在字段列表中看到新字段。 出于某种原因,AOT 中的报告显示为红色叉号:

在属性中我可以看到元数据中的错误:“读取元数据时出错。确保元数据 xml 文件可访问、格式正确且未因重复或丢失而损坏 xml个元素。 异常消息是:名为 'Copy1' 类型 'ModelElement' 的元素已存在于元素中:'Copy1'。 参数名称:项目 附加信息: AOT/Reports/Reports/WHSInvent

包本地目录中有该对象的 .xml,该报告的任何节点中都没有任何重名。

知道如何修复它吗?

我之前 运行 对此有所了解,我想到了两件事。

  1. 通常是由于不正确的合并,其中更改被合并并且元数据被意外复制(在您的情况下,可能有两个 xml 节点具有相同的 name/id在 .rdl 文件中) 如果检入此报告时包含损坏的元数据,您需要手动修改 RDL 文件,这不是很好,但希望错误包含足够的提示。在您喜欢的编辑器中打开报告 rdl 文件(报告可能位于与此类似的路径中:K:\AosService\PackagesLocalDirectory\YOURMODEL\Reports)并查找具有属性 Name="Copy1" 的 xml 节点。幸运的是,由于合并,您有两个彼此相邻的重复节点。删除有问题的重复节点,保存并刷新 Visual Studio 中的 AOT。

  2. 如果错误仅在您的本地更改中(xml 文件因任何原因损坏)并且您确定您的源代码管理包含正确的版本并且您只是想覆盖具有源代码控制版本的本地内容,请按照以下步骤操作。 注意:这将覆盖本地更改。

首先,撤消挂起的更改。

然后强制获取最新: