Search through blog..

Tuesday, November 13, 2012

Full CIL Generation from X++

This post describes one of the many strange errors which might occur if the CIL Generation was not done properly.  If you want to know more about CIL generation . Go here: X++ compiled to .Net CIL[Ax2012]

In Microsoft Dynamics AX, scheduled batch jobs written in X++ must first be compiled into the common intermediate language (CIL) of the .NET Framework.

I faced this one issue when I was trying to do a Full CIL Generation after fixing an Over-layering issue (which occurred due to some project related update installation).
Error message was “Type name does not exist.
The VendRequestAuditContract.getAttribute() reflection API could not create and return the AifCollectionTypeAttribute object. Please check the parameters.”

Before looking into more details, I followed the below best practises suggested when working with CIL generation.
1.      Stop AOS.
2.     Delete all files from path C:\Program Files\Microsoft Dynamics AX\60\Server\<<Instance name>>\bin\XppIL.
3.     Start AOS.
4.     AOT > Add-ins > Incremental CIL generation from X++ 

And that solves the problem. Takes some time in CIL generation but is always effective.

4 comments:

Unknown said...

thank you for sharing!

Unknown said...

Please let me know the above said solution is applicable for the error message below?

Parameter '' cannot be empty.
The SalesInvoiceDP.getAttribute() reflection API could not create and return the SRSReportParameterAttribute object. Please check the parameters.

Unknown said...

after doing the above steps it is showing error:

The given key was not present in the dictionary.

Dileep Gopalakrishnan said...

Yup... It worked.. thanks bro..