Классы, созданные клиентом OData от Microsoft, не компилируются
Мы пытаемся использовать Microsoft OData Client для создания классов C# для наших настраиваемых сущностей в Microsoft Dynamics. Мы добавляем расширение "OData Connected Service" в Visual Studio и подключаемся к конечной точке метаданных Dynamics $ для генерации клиентского кода в соответствии с инструкциями.
В итоге мы создали более 1100 исходных файлов и более миллиона строк кода. Иногда генерация кода дает сбой Visual Studio. В другой раз мы получили исключение Out of Memory. Это происходит даже тогда, когда мы ограничиваем сгенерированные объекты нашими собственными настраиваемыми объектами в 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>();
У кого-нибудь есть идеи, почему это происходит?