By contrast, builds performed in the MorphX client would benefit most from systems optimized for single threaded operations, ie. no virtualization, solid state disks and high clock speed.
It is theoretically possible to use AXBuild.exe without first upgrading to CU7. I tried it. Even though it works, I can find no documentation stating that it is acceptable to use AXBuild on installations prior to CU7. Therefore, if you do not have CU7, your results may be unsupported if you use the following method.
There are a couple of mentions where AXBuild was used successfully without taking on CU7, after updating the Kernel only:
- http://yetanotherdynamicsaxblog.blogspot.com/2013/11/you-got-to-love-axbuild-compiler-tool.html?_sm_au_=iVVkT9PvjDrv59W5
- http://daxmusings.codecrib.com/2013/11/what-you-need-to-know-about-15-minute.html
AXBuild Gotchas:
- AXBuild takes the place of the AOS service. Therefore, the AOS service should be turned off for the duration of the compile, and MorphX should be closed.
- Using the altbin parameter will correctly locate the client\bin binaries and avoid runtime errors.
- If your server\bin folder has not been well maintained, you may uncover third party components which are out of date, previously unmentioned by MorphX. These should be corrected anyway.
- Hot-swapping must be turned off in the AOS configuration.
- The compile log files are not stored in the user profile by default. Instead, they are are stored in: C:\Program Files\Microsoft Dynamics AX\60\Server\MicrosoftDynamicsAX\Log\
- AXBuild should be executed with administrative credentials.
- .NET Objects Cannot be Instantiated while the compile is running. This matters if you have customized a few key foundation classes to perform .NET calls, namely Application, Infolog, and ClassFactory. See section F: https://msdn.microsoft.com/en-us/library/dn528954.aspx
- AXBuild does not support chained COM calls. See below.
- The documentation for AXBuild alludes to differences in the Modelstore schema. In my experience, the compile completed successfully on AX2012 R2 without updating the schema, so I am not sure that this applies. For CU7 where the tool was introduced, it certainly applies. In that case, care must be taken to also update the schema on deployment environments, or the new Modelstore will fail to import.
- Full CIL generation remains as a separate step which is not covered by AXBuild.
Fix for AX2012 R2 base install - errors in foundation class SysInetHTMLEditor
For the AX2012 R2 base install, I encountered two errors:
Description Path Line Method/Property name Diagnostic ID
1. The variable is not of the type CLASS. \Forms\SysInetHTMLEditor\Methods\saveChanges 21 \Forms Err:74
2. The variable is not of the type CLASS. \Forms\SysInetHTMLEditor\Methods\saveDocument 25 \Forms Err:74
For an explanation, see Section F, constraints:
https://msdn.microsoft.com/en-us/library/dn528954.aspx
Here are the errors after loading AxCompileAll.html into MorphX:
This was easily solvable by first declaring a variable of type COM to avoid the chaining call:
No comments:
Post a Comment