Announcing the Preview of Modern Development Tools for Dynamics NAV

In this blog, we're excited to introduce you to the new tools you'll use to build extensions and apps in and for Dynamics NAV. This December preview is meant as an appetizer and way for you to try out what we have so far. We've been looking forward to showing you what the new tools look like and let you take them for a spin.

The tools that you'll be using come in two flavors and both are available in preview from today.

The in-client designer


Make an extension in the client itself. Business consultants and UX designers will love using this drag-and-drop interface. Rearrange fields, rename groups, and reposition elements to build a perfect extension to support an industry-specific solution or implement a business process optimization.

Visual Studio Code


Use the AL Extension for NAV in Visual Studio Code to build powerful extensions based on tables, pages, and codeunits using the new objects: Page Extensions and Table Extensions. Follow this route to build rich extensions that reuse and extend core business logic in your application.

I'm keen! How do I get started?

Two steps to get set up and then you can put rubber to the road. First you need an Azure Subscription. If you don’t have one, you can get a free 30-day trial from that will give you access to everything you need. If you do take the trial, you will need to provide a telephone number and credit card, but these are for ensuring you’re not a bot and you won’t be charged.

Secondly, head over to Login to your Azure Subscription. Select your subscription, resource group, location, name, and a VM Admin Password. Leave the remaining fields as their defaults. Accept the terms, Pin to dashboard and select Purchase. The instance takes about 5 minutes to set up, and the VM will be ready about 15 minutes after Azure says Deployment Succeeded. So go get a coffee and come right back.

How do I learn more?

Great question! We were hoping you’d ask that.

Check out our docs:

Tools overview

Getting Started guide

Object overview and AL language changes

This is great - how do I share the love?

Are you as excited as we are? Then blog or tweet using the tags #dyndev365, #msdynnav, and #code. Collaborate with us by adding your product ideas. Do that in GitHub

I found a bug - what do I do?

We’re sorry – we’re still in preview and still learning too. It would help us so much if you can track down the bug and tell us. During the preview, the best way to let us know is to file it as an issue in GitHub The sooner we know, the sooner we can patch it and get it back out there.

New builds! Where do I get a new build?

While we’re in preview we’re going to be fixing as many of those bugs as we can and we’ll be working on new features too. We’ll update the image on Azure Gallery about every month and let you know here on the blog when we do. We’re also working on a process to get them out faster but with Christmas and the New Year coming up, it might just take a bit longer the first time.

Another warning, when we do provide a new gallery image, we won’t be able to provide any upgrade tools between the versions. We’ll try our best to avoid breaking changes but there are no promises.

Comments (36)

  1. Marton Nagy says:

    That’s great but what if I’ve already used up my free trial?

    1. You can only have one free Azure subscription with your Microsoft account, hopefully you have someone else in your org or network that has one more you can use. Good luck, Stuart

  2. Where do I need to leave a suggestion if I want Microsoft Dynamics NAV Development Environment Studio to correctly save data about SQL Server instance name and port (it just clean with every reconnection) or if I want NAV to be aware of ‘application intent=readonly’ connection string option to work with secondary replicas. This is ridiculous. We have been spending thousands of dollars for SQL Server Enterprise licenses but NAV development team is unaware of any new features of DMBS starting from SQL Server 7.0.

    1. Sorry to hear about your problems with NAV – I’ve passed your comment on to our SQL team.

    2. Dear Nedashkivskyi Yevhen,

      Generally, you can leave feedback for the product teams (including NAV) at
      For the new developer experience, please use GitHub to file an issue, as explained above.

      I’m not sure I understand where you have a problem setting SQL Server instance and port. The C/SIDE client knows how to use and save these. Where to you try to set it otherwise?

      In the case of setting application intent=readonly, this will not work with NAV, because the server will need to write things like user settings to the database, and therefore no connection will be truly read only.

      With regards to usage of SQL Server features, we have always been cautious/conservative, and have never utilized features, which were not available in the oldest supported version of SQL Server. Currently (NAV2017), we support SQL Server versions 2012-2016.

      Finally, we do have customers running NAV on AlwaysOn. Please contact support (CSS), if you want to discuss this further.

      Best wishes,

  3. Creating the VM Azure returns an error

    TITOLO Non è stato possibile inviare la distribuzione
    DESCRIZIONE Si è verificato un errore durante l’invio della richiesta di distribuzione. Dettagli aggiuntivi dell’API sottostante che possono risultare utili: La distribuzione ‘Microsoft.Template’ del modello non è valida in base alla procedura di convalida. L’ID di traccia è ‘0988afbf-b40f-497d-8043-c1a1c1c8f5fc’. Per informazioni dettagliate, vedere gli errori interni. Per informazioni sulla sintassi, vedere (Codice: InvalidTemplateDeployment) L’etichetta del nome di dominio nav new development non è valida. Deve essere conforme alla seguente espressione regolare: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. (Codice: InvalidDomainNameLabel)
    STATO Errore
    TIMESTAMP Tue Dec 20 2016 14:35:47 GMT+0100 (ora solare Europa occidentale)
    TIMESTAMP UTC Tue, 20 Dec 2016 13:35:47 GMT
    NOME ESTENSIONE HubsExtension
    TIPO DI ASSET ResourceGroups
    ID ASSET /subscriptions/c0c5d55e-ae9e-479c-97c2-6b3b7c7e9e33/resourcegroups/Demo

    1. Nareshwar Raju says:


      Please let us know how did you solve it?

      1. KKL says:

        the messages says: InvalidDomainNameLabel so i guess he used a wrong Domain Name label 🙂 It’s is quite stupid that it is checked in the process but not when you enter it ….

  4. A Random Passer-by says:

    First of all…: Thanx for the opportunity to have a look a the new development environment!

    I don’t have a Git Hub account that’s why I post my comment here.
    You can move it to Git Hub to follow up on it if that is more practical.

    If you design the Customer Page and add the field “No. of Ship-to Addresses” and then click on the Field you added an error occurs.

    An error has occurred
    A server error has occurred, and the content cannot be displayed. Refresh the page or open a new browser window.
    Restart ->

    While there is no explicit saving option now (or better no non saving option 🙂 ) when this IS present it wouldn’t be practical to loose your changes.

    I also noticed an other issue, but that might be the Windows Client as such (It also happened while not being in Design Mode).
    On an Invoice screen. While selecting the text of the first 2 “fast texts” of a closed Invoicing Details FastTab (For instance 1\12\18 | 14 DAYS) I get the following error:

    Sys.InvalidOperationException: There is no associated adapter for a browser logical control with id:
    Restart ->

    1. Thanks, bug received and filed. We’ll take a look.

  5. Mohana says:

    Where can I find the extension code generated using The in-client designer?

    1. Not yet. Is planned for an update very soon.
      Thanks, Stuart

      1. Just passing by … this is now something you can do. When finishing design, you can export/save your files.

  6. Mohana says:

    Can I create 2 extensions using in-client designer from same machine and user?
    I would like to change Customer card with an extension and vendor card with extension2.
    It seems to be created in 1 extension now based on user?

    1. Today extensions in the client apply to the entire tenant. So all changes are visible to all users.
      But, each user can create their own extension. So User 1 can modify customer and vendor card – this will be saved as “extensions from user 1” and user 2 can modify “customer and bank account” which is saved as “extensions from user 2”. Both user 1 and user 2 will see all changes to customer, vendor and bank account pages.

      1. Mohana says:

        Do it is not possible to create 2 extension with same user?

        1. It’s not possible to create 2 UI extensions with 1 user.

  7. Henrik Ohm says:

    New world order 🙂 In many ways liking the new designer.
    I’m looking forward to this although I’m a bit nervous about these possibilities IF the end user has these possibilities.
    1. Usable user guides when everybody makes their own layout and fields/fast tabs
    2. Code on fields – validation and transfer to posted documents/entries
    3. Deletion of fields that hold important data
    4. Fetching field data from codeunits and other extensions – compilation problems?
    5. Adding fields you are not allowed to see per user
    6. The end result of
    a) custom programming
    b) conflicting partner extensions
    c) page extensions
    7. Upgrade tools

    I would prefer MS using some time on:
    1. Help Server 2017 should work!!! Now we have problems selling/implementing NAV2017. In help files says “project madeira” (omg).
    2. RDLC VS2015
    3. Correcting annoying standard application bugs and problems ex.
    a) Requested Receipt Date on purchase orders sent to vendors etc.
    b) Not possible to send non-approved sales order confirmations to customers
    c) Handling of customer/vendor calendars for receiving/delivery dates
    d) Not posting on Direct G/L accounts from sales/purch. documents as same setting as G/L
    direct postings. Customer Service should not be able to post on “1220 Tilgang i år” from
    a sales order.
    e) Invoice Discount % (nice) on sales order does include non-discount items/GL etc. even if
    setup on item/price lists that it should not be possible.
    f) Transferring Item Attributes for changing on orders and BI on entries.
    etc…. see for more 🙂


    1. Hi Henrik – great list. Rather than blow up the space on the blog comments, I’ll just say we’re very aware that the end user customization/personalization story needs to have a way to lock it down. Today it’s all open because this is a preview and we want people to try the experience. But when we release it properly, there’ll be a way to restrict access. Your other list applies more to NAV in general rather than the dev tools – so I’ll need to leave those alone.
      Lastly, not having access to reports is something we’re aware of. Clearly we’ve prioritized codeunits, pages & tables – but reports are something that are in progress and will be available some stage next year. Again, no promises “when” – it’s all a question of balance between “when it’s useful enough” and “when it breaks too easily”. Hitting that sweet spot is where the magic lies. Thanks for taking the time to leave a comment,

  8. Yuris Praulinsh says:

    Good day,
    we’ve set our VM up, but it asks for login/password for certain domain. Which ones should we use (login/pass/domain)?
    Thanks in advance,

    1. FreddyDK says:

      The Login is probably vmadmin (unless you changed it when deploying at
      The Password is the password you entered when deploying.
      Domain doesn’t matter – just use .\vmadmin

      1. Yuris Praulinsh says:

        Thank you very much, it helped.

  9. Jeremy Vyska says:

    Any timeline on having a non-Azure version of this? Running an Azure VM is not free.

    1. We don’t have any announcements about when this will be available outside the Azure Gallery but we do plan it.
      Before we do, we want to add more “basics” in, like running reports and other objects.
      While it’s written that you can only have 1 free Azure Subscription per customer, it is technically possible to create an entirely new trial/account.

      1. Any update on this? Half a year has passed and still no non-azure version in the pipeline?

  10. mohana_cse06 says:

    at present, the extension name is auto created as “Designer_91148978-5179-d4e0-1596-2df425e05f61” while using In-line designer.
    can we change it? where and how?

    1. You can’t change the in client designer extension name – yet.

  11. Nelson BKR says:

    Will this tools work with on premise NAV? Were using NAV 2016 would this require a dev license for Nav

    1. Hi Nelson, unfortunately the changes ´we make to the platform to support the new tools are so extensive it’s not possible to backport this to older versions of NAV.

  12. Dave Boehm says:

    Please accept my apologies in advance, for a very simple question:

    I want to create an app to extend the Time Sheet screen in “D365 for Financials” and make it available commercially in the AppSource.

    Can I do this using these new “Development Tools for Dynamics NAV”, or must I “download a local version of Microsoft Dynamics NAV” (per the “Bring your Financials app into Microsoft AppSource” (Feb/2017) pdf White paper)?

    I suppose something created with a “Preview” version of the Development Tools for Dynamics NAV wouldn’t be quite acceptable to the AppSource Team at this time, but it is going to take me a while to develop the extension. By the time I am finished, I think it is likely that the Tools will no longer be in Preview.

    1. Hi Dave,
      You’ve correctly identified exactly the situation we’re all in. We call apps (extensions) that are made with the c/side and deltas “Extensions V1” and extensions made with the new tools as “Extensions V2”.

      We’re not planning on taking any Apps/ExtensionsV2 into AppSource until the development tools are ready.

      Having said that, if you are interested trying, and don’t mind taking a risk on having to redo some of the work, you can send me a mail and we can have a talk about trialing your idea and getting it to AppSource.


      1. Dave Boehm says:

        I am working with VS Code and the Designer. I really like what I see. I do have a couple of questions, though:

        1) I need to add a button to a screen, and open a page from that button. Have you any idea as to when this functionality might be available in the Designer Preview? Currently (as far as I know), I can only add fields to a page.

        2) I haven’t found a way to step through my code in VS Code (i.e. F11, F10, Shift+F10) in regard to AL extensions. I know the native functionality exists, but it disappears from the VS Code editor screen when I compile an extension. It seems like all I can do is compile an extension, publish it, and then test it in the web client. Am I missing something? If not, will this functionality ever be available when doing debugging in VS Code?

  13. Roberto Corella says:

    Hi everyone,

    I have two easy questions for expert people as you:
    – Can I develop extensions for NAV in local (with Visual Studio Code in local) or only by Azure subscription? In the VS Code in Azure Virtual machine I can use the AL, but in local I can’t find it. Could I download the AL extension for VS Code?

    – When I create an app in the VS CODE in Azure, How can download and install it in my NAV? Could you inform me about documentation for this?

    Thanks in advance. Best regards,

    Roberto Corella

  14. Thomas B. says:

    The links for the “How do I learn more” don’t work

    1. navteam says:

      Oops, you’re right, the links were broken, but they should be fixed now. Our apologies for the confusion!

Skip to main content