In AX development, it
is a bit confusing about the real meaning of “Compile”, “generate
Full
CIL or incremental CIL”,
Compile: -The compile is to convert x++ source code into p-code,
it is in 2009
Sync:-Checking each and every table defining the value of your EDT
Sync:-Checking each and every table defining the value of your EDT
full CIL :-generate CIL is about to convert the p-code into CIL,
referred to as the byte code which, at run time, is used by the CLR to convert
into native code for execution on the computer. It is easier to understand that
a full CIL generation involves converting all p-code into CIL, finally it converts to the binary Lang
Incremental CIL :-incremental CIL generation involves only the
“changed” p-code artifacts that need to be converted into target CIL. Incremental CIL would compile only the objects that were
modified since the last incremental compilation.
Some X++ batch jobs
can now complete in much less time. All X++ code that runs on the AX32.exe
client still runs as interpreted p-code. However, all batch jobs now run as
Microsoft .NET Framework CIL, which is often much faster than p-code.
The X++ developer must
now complete the extra step of compiling X++ p-code to CIL. To compile p-code
to CIL, right-click AOT, and then click Add-ins > Incremental CIL generation
from X++.
Next, if the
installation uses multiple instances of Application Object Server (AOS), all
AOS instances must be stopped and then restarted. This causes the AOS instances
to load the updated assembly.
Finally, a service or
a batch job must run the X++ code that was compiled to CIL. Services and batch
jobs now run only as CIL
Would you be able to list a step by step guide when you have to generate an Incremental CIL. Do you need to compile and then run Incremental and then FULL?
ReplyDelete