Erro "Nenhuma classe de metadados definida para objeto de contrato de dados" no Dynamics AX 2012
Publicado: 16 de fevereiro de 2025 às 01:07:21 UTC
Um pequeno artigo descrevendo uma mensagem de erro um tanto enigmática no Dynamics AX 2012, bem como a causa mais provável e a correção para ela.
Error "No metadata class defined for data contract object" in Dynamics AX 2012
As informações neste post são baseadas no Dynamics AX 2012 R3. Podem ou não ser válidas para outras versões.
Recentemente, encontrei a mensagem de erro um tanto enigmática "Nenhuma classe de metadados definida para o objeto de contrato de dados" ao tentar iniciar uma classe de controlador SysOperation.
Depois de uma pequena investigação, descobri que a causa disso foi que esqueci de decorar a ClassDeclaration da classe de contrato de dados com o atributo [DataContractAttribute].
Parece que há algumas outras causas possíveis, mas a acima é de longe a mais provável. Estranho que eu não tenha encontrado isso antes, mas acho que nunca esqueci esse atributo antes, então ;-)
Aqui anotado para referência futura :-)