Getting started as a developer with Dynamics 365 for Finance and Operations (D365FO) and Dynamics 365 for Retail

If you are looking to move your development career towards D365FO, or if you are already a seasoned Dynamics AX developer and want to cross train, read this article to understand how to create your own development environment and the steps to follow towards certification.

Accessing Lifecycle Services (LCS)

Whether you choose to run your development environment in Azure or locally on your own hardware, you will need access to Lifecycle Services (LCS) – the cloud based portal which manages the application lifecycle of your D365FO implementation. 

Finance and Operations and Retail are available only to existing Microsoft Dynamics 365 channel partners and customers who are currently enrolled in the Business Ready Enhancement Plan (BREP) service plan.

If you have received a preview invitation, follow the steps in the link above.

If you are not associated with a customer or partner, you will need to sign up for an on-premise trial of the on premise offering before you can access LCS, as the off-premise trial will only give you a 30 day trial of the cloud based front-end user experience.   

Please remember that it is your responsibility to ensure that you read and comply with all associated software licences.

Accessing your development environment

Your tenant administrator will provision a development environment for you, and you can see the details of your VM and connect to it directly from LCS.

The following table shows the rough costs that you can expect to pay to host the recommended development environment in Azure (December 2018):

InstanceCoreRAMTemporary storagePAYG
D12 v2428.00 GiB200 GiB£0.459/hour

If you keep your development environment on for 8 hours a day, 5 days a week you can expect to pay around £75GBP / $95USD per month.  This is plenty of time to cross train to D365FO assuming you have the spare time of course, but the costs will soon add up.

Like most people, you are probably doing something else most of the time, and as an alternative, you may find it more economical to build your own development server and host your own One-Box virtual machine locally. 

The following section will provide further details on the type of server to use and how to build it.

Building your own development environment

Provision the hardware

My personal development environment is built using an

  • HP Z420 Workstation Intel Xeon E5-2650 2.0GHz 32GB RAM Nvidia Quadro NVS 300
  • Samsung 850 EVO 500 GB 2.5 inch Solid State Drive

and I find that this gives me (almost) comparable performance to an Azure D12 v2

You can source source something similar on eBay for £400GBP / $500USD – just make sure that the hardware supports virtualization.

Install Hyper-V server

Microsoft Hyper-V Server 2016 is a cut-down version of Windows Server 2016 and only includes the hypervisor, so it’s footprint on your host is minimal.  It is also available as a free download.

This blog will help you to install and configure it.

Download and provision the VM

Download the related rar files from the “Downloadable VHD” section from the Shared Asset Library of LCS (you may need to create a project first) and unzip the .vhd to the fastest drive on your HyperV deployment.

Use the Hyper-V Manager to create a new Virtual Machine:

  • Specify the .vhd above as the hard drive
  • Configure dynamic memory with minimum RAM of 16,384MB
  • Assign as many processors as possible
  • Specify your Home network as the Virtual switch for the network adapter

Configure the VM

You can create a remote connection to the VM using the host name

The default password for the Administrator account will be pass@word1 (the VM will use the en-US keyboard layout – so adjust keystrokes accordingly if @ isn’t in the correct place!)

Perform the following before taking a checkpoint:

  • Change the language, region and time zone
  • Change the Administrator password
  • Install by running the following from a PowerShell prompt:
    • Install-Module -Name
  • Rename the server to avoid future conflicts with TFVC workspaces by running the following from a PowerShell prompt:
    • Rename-D365ComputerName -NewName “newname”
  • Run the AdminUserProvisioning tool (on the desktop) to associate your Microsoft account with the admin account within D365FO.
  • Create desktop shortcuts for Visual Studio and SQL Server Management Studio and configure the advanced properties so that they always run as an administrator.
  • Configure Visual Studio options:
    • Organize projects by element type [D365/Projects tab]
    • Synchronize the database on build for newly created projects [D365/Projects tab]
    • Disable “loading of symbols only for items in the solution” [D365/Debugging tab]

At this stage, you should be able to launch the D365FO user interface by browsing to

The following additional configuration will make life easier as a developer:

  • Download and install Chrome
  • Provide a valid licence key to remove the evaluation edition of Windows Server (this will take some time!):
DISM /online /Set-Edition:ServerDatacenter /AcceptEula /ProductKey:ZZZZZ-ZZZZZ-ZZZZZ-ZZZZZ-ZZZZZ 

Training and Certification

MB6-894 Development, Extensions and Deployment for Microsoft Dynamics 365 for Finance and Operations

The following courses are available through the Microsoft Dynamics Learning Portal (DLP).  If you don’t have access to the DLP through your partner or customer you may be eligible to associate with 365 Talent Portal as a student or consultant.

The MB6-894 exam counts towards MCSA certification, but be aware that Microsoft are likely to introduce a new syllabus and certification structure as the product matures.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create a website or blog at

Up ↑

%d bloggers like this: