Dynamics 365 Business Central February 2019 Dev Preview is full AL: how to create extensions now?

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:

D365BCFeb19DevPrev_01.jpg

No standard tables, pages, reports, queries, codeunits, XMLports etc. :

D365BCFeb19DevPrev_02.jpg

Now all the base code is in a single AL extension called BaseApp (actually a monolithic app with about 6000 files):

D365BCFeb19DevPrev_03.jpg

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”: “14.0.0.0” line

Your app.json should be:

D365BCFeb19DevPrev_04.jpg

Now you will be able to have the symbols and (expecially) no strange errors during compilation:

D365BCFeb19DevPrev_05.jpg

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.

12 Comments

  1. Hi Stefano,

    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.

    Regards

    Like

  2. Hi,

    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)

    Thanks.

    Like

    1. 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.

      Like

  3. 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?

    App.json below:

    {
    “id”: “ece99523-f980-4d3f-9c39-fa68855b693e”,
    “name”: “Source”,
    “publisher”: “Default publisher”,
    “version”: “1.0.0.0”,
    “brief”: “”,
    “description”: “”,
    “privacyStatement”: “”,
    “EULA”: “”,
    “help”: “”,
    “url”: “”,
    “logo”: “”,
    “dependencies”: [
    {
    “appId”: “437dbf0e-84ff-417a-965d-ed2bb9650972”,
    “name”: “BaseApp”,
    “publisher”: “Microsoft”,
    “version”: “14.0.29248.0”
    }
    ],
    “screenshots”: [],
    “platform”: “14.0.0.0”,
    “idRanges”: [
    {
    “from”: 50100,
    “to”: 50149
    }
    ],
    “contextSensitiveHelpUrl”: “https://Source.com/help/”,
    “showMyCode”: true,
    “runtime”: “4.0”
    }

    Like

  4. 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.

    Like

  5. 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.

    Like

  6. still keep getting appName=BaseApp&versionText=15.0.0.0 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

    Like

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.