The views and opinions expressed in this blog are those solely of the author(s) and do not necessarily reflect Microsoft’s current policy, position, or branding. For official announcements and guidance on Dynamics 365 apps and services, please visit the Microsoft Dynamics 365 Blog.
Personalized Community is here!
Quickly customize your community to find the content you seek.
Check out the latest Business Central updates!Learn about the key capabilities and features of Dynamics 365 Business Central and experience some of the new features.
Download overview guide | Watch Business Central video
2020 Release Wave 2Discover the latest updates and new features to Dynamics 365 planned through March 2021.
Release overview guides and videos Release Plan | Preview 2020 Release Wave 2 TimelineWatch the 2020 Release Wave 1 virtual launch event
Ace your Dynamics 365 deployment with packaged services delivered by expert consultants. | Explore service offerings
Connect with the ISV success team on the latest roadmap, developer tool for AppSource certification, and ISV community engagements | ISV self-service portal
The FastTrack program is designed to help you accelerate your Dynamics 365 deployment with confidence.
FastTrack Program | Finance TechTalks | Customer Engagement TechTalks | Upcoming TechTalks
Recently, I've got a bunch number of e-mails starting with this Subject "Your extension is incompatible with an upcoming release of Microsoft Dynamics 365 Business Central"
So, I thought, not me only getting this, and maybe someone is getting stuck of how to react on this. This post is for you
That situation could happen not only with the upcoming Wave 2 release. Any new update of Business Central brings us new features or depreciation of the old features, which our extension could rely on. So, when you extend some base field and Microsoft decides to delete it, you probably need to restructure your extension. And that not only about fields, that could also happen if any peace of base code, that you call or subscribe to or extend will be refactored by the Microsoft.
Wave 2 brings us not only AL-only, but also split Base App and System App approach. Which resulted in a huge number of breaking changes and how to resolve them document. Be aware that the list is not full there.
Let me describe my case, and how did I resolve it. Hopefully, you will find this similar to yours.
I had an app that worked excellently for Business Central 14.3. And one of the parts of my app, was auto-fill-with-demo-data for the sandbox environments.
with these settings in app.json file
Then I received those message "Your extension is incompatible with an upcoming release of Microsoft Dynamics 365 Business Central".
First, you need to create a Business Central Wave 2 environment: cloud or local. But, I guess before Wave 2 will become publically available, you need to create local environment, at least for 1 thing - next version of AL for vscode.
It should have the version 4.xxx
Maybe in the nearest future, it will come with new logo according to this info :)
So, create a new local environment
$imageName = "bcinsider.azurecr.io/bcsandbox-master:w1"
$containerName = "test"
$auth = "UserPassword"
$credential = New-Object pscredential 'admin', (ConvertTo-SecureString -String 'P@ssword1' -AsPlainText -Force)
$licenseFile = "<licensefile>"
New-BCContainer -accept_eula `
-imageName $imageName `
-containerName $containerName `
-auth $auth `
-credential $credential `
-licenseFile $licenseFile `
and install new .vsix file as described here.
Second, create a new extension for Wave 2
The only reason you should do that is to grab dependencies on the base app and system app, and copy them into your extension app.json file
To make life easier, i'll just post it here in a copy-paste mode
"name": "System Application",
"name": "Base Application",
So, copy dependencies to you extensions app.json file, change runtime to 4.0, change platform to 15, and don't forget to change version of your extension!
Here is the whole list of changes I did in app.json file
Let's move to the launch.json
The main difference here is that "serverInstance" was changed from NAV to BC.
Now the same steps as before, get new symbols.
As a result, you'll have old symbols and new symbols in your .alpackages folder. You can leave as is, but I prefer to delete the old ones.
Now you symbols should look like this
Usually, your code will be compiled automatically, but i found that after getting new symbols, the old symbols where saved in the memory. So, i reopened the folder in the vs code for auto-compile, or you can run Package function.
Now I see what was changed by Microsoft
This is, of course, will depend on your errors. In my case, I found here that "Tenant Management" was replaced by "Environment Information", so changing my code to the next one, fixed my issue.
Package your fixed extension (with the new version!) to the new .app file
Now it's time to upload your extension version, compatible with Wave 2 release to the production tenant.
Online Production Tenant > Extensions > Upload Extension
Choose you new .app file and select Deploy to: Next major version, and Deploy
and here we go
Now your per-tenant extension will remain in your production tenant, even after upgrade to Wave 2 ... hopefully
Business Applications communities