I have notice for few time that we do some customization in our dev environment and when we move or import the customization (.xpo ) file to our production server and generate full CIL some user complain that there un posted transaction are missing like journal and even i notice some of our customized table data were missing .
What is actually causing this problem ? does any one have idea or have faced same issue.
Note that if you import an .xpo to a production environment, different AOS servers may use different code and before you generate CIL, your X++ code and CIL code won’t match. Therefore if you import a change where one half runs in X++ and the other in CIL, only the first part will be used as runtime. Also, the same class will behave differently depending on whether it’s called by the X++ runtime or CLR. In short, your system may behave in any unpredictable way. You should fix this bug in your processes and start deploying customizations in a safe way.
Hi Martin thanks for your reply can you suggest the best way to import customization to production server. We have clustered AOS and we have many customize project some of which need frequent update or change in code so we try to import the updated object every week and we do compile , full cil and synchronize
Please read the whitepaper from Microsoft that Kranthi gave you above.
Your approach is not only dangerous (you’re basically developing in production), but you also waste time by compiling code in production. The recommended approach is taking the whole application in the exact state that was (hopefully) tested and signed off, instead of delivering individual code changes (and effectively creating a new version that will be tested only in production). And the modelstore deployment allow you to compile X++ and generate CIL on a pre-prod environment and import the modelstore to production while AX is still running.