首页 > 解决方案 > Microsoft 的 OData 客户端生成的类无法编译

问题描述

我们正在尝试使用Microsoft 的 OData 客户端为 Microsoft Dynamics 中的自定义实体生成 C# 类。根据说明,我们将“OData Connected Service”扩展添加到 Visual Studio 并连接到 Dynamics $metadata 端点以生成客户端代码。

我们最终生成了超过 1,100 个源文件和超过一百万行代码。有时代码生成会使 Visual Studio 崩溃。还有一次我们遇到内存不足异常。即使我们将生成的实体限制为我们自己在 Dynamics 中的自定义实体,也会发生这种情况。

最糟糕的部分是生成的代码无法编译。最常见的编译器错误是:

The type or namespace name 'RelationshipAttribute' does not exist in the namespace 'Microsoft.Dynamics.CRM' (are you missing an assembly reference?)

这是导致此错误的示例源代码行:

private global::System.Collections.ObjectModel.Collection<global::Microsoft.Dynamics.CRM.RelationshipAttribute> _RelationshipAttributes = new global::System.Collections.ObjectModel.Collection<global::Microsoft.Dynamics.CRM.RelationshipAttribute>();

有谁知道为什么会这样?

标签: dynamics-crmodatamicrosoft-odata

解决方案


推荐阅读