As publicly announced yesterday, the February 2019 Developer Preview for Dynamics 365 Business Central launches the first public version of the application where all the base code is converted from C/AL to AL.
If you open the old C/SIDE Development Environment, what you can immediately see is that you’ve only few system tables and system codeunits but no other application objects:
No standard tables, pages, reports, queries, codeunits, XMLports etc. :
Now all the base code is in a single AL extension called BaseApp (actually a monolithic app with about 6000 files):
If you want to create an extension for this new “absolutely alpha” application version and be able to have the symbols, ACTUALLY (and I repeat, actually!!!) you need to do two things:
- In your app.json file, add the dependency from the Microsoft’s BaseApp
- Remove the “application”: “184.108.40.206” line
Your app.json should be:
Now you will be able to have the symbols and (expecially) no strange errors during compilation:
All will be more stable for sure in the next releases (this is a preview 🙂 ) but with these tricks in mind you will not loose too much time on troubleshooting strange errors from Visual Studio Code.
A very interesting post that clarifies many of my doubts. Anyway, I still have two doubts that maybe you can help me.
– Will the files of the “baseApp” extension be published on the installation DVD?
– If they are public, is it possible to modify those files and publish the modified baseApp in the environment of my onpremise client?
The biggest problem that developers have is going to be especially when doing upgrade on clients that have much modified standard. Is it possible to do this? I speak in onpremise environments.
Thnaks for your time.
Yes in an on-premise environment you will still be able to modify the AL code. This will not be available on SaaS.
Great post and I am really looking forward to get rid of the old code once and for all, but I do have a question you might answer that seems to be very hard to find answer to.
Will this change be also be for the on premises version, or is it only the SaaS version? (That C/AL is removed)
This will happen also for the on-premise version. The platform will be soon moved to full AL. The only difference is that in the on-premise world you will still be able to modify the AL base code as per your needs, while this will not be possible in SaaS.
Great post. I am trying to run this on the latest version of the developer preview which appears to be 14.0.29248.0 now according to the name of the app file. Whenever I run the Download Symbols routine, I get a “No published package matches the provided arguments.” I have hacked up my app.json file to try to get it to work but it doesn’t seem to want to cooperate. Any advice?
“publisher”: “Default publisher”,
Check if the app id and version are correct, then check the runtime version. If all are correct, maybe there’s a problem on the last insider preview.
Does this make it possible to view the base code objects in AL? That would be very helpful for those of us trying to add fields to report datasets without having to go through C/Side to export and use Txt2AL conversion.
Yes you will be able to see and (for the on-premise) modify existing AL objects directly from VS Code.
Does this still work and do you know the current version?
What do you mean? Full AL version is platform 15. Details here: https://demiliani.com/2019/08/02/preview-of-dynamics-365-business-central-2019-release-wave-2-few-notes/
still keep getting appName=BaseApp&versionText=220.127.116.11 failed with code NotFound. Reason: No published package matches the provided arguments. I am connecting to a Sandbox. Think there is something wrong with te version
This post is related to the Wave 2 Preview (platform 15, AL only). Are you using this version? If so, check my latest post.