Do you want to go hybrid where you mix your Business Central extensions with CSIDE objects and have problems with getting these objects included in symbols? Then you will find a checklist here that hopefully helps you to solve that issue.
If you want to get a better understanding of symbols before you proceed I recomend this blog post Symbols demystifed.
If you have upgraded to Business Central from an earlier version, double check that you have imported the business central symbols. Instructions on how to do that can be found here.
If you are going to go hybrid and mix CSIDE object changes with extensions you have to first enable generating of symbols in the NST. You can find the setting in the Business Central Administration.
Alternatively you change directly in the CustomSettings.config file (C:\Program Files\Microsoft Dynamics 365 Business Central\130\Service)
If you are running docker and use the command New-NavContainer from navcontainerhelper powershell library you can add the flag “enableSymbolLoading”.
When these settings are done, check that you actually have imported your CSIDE objects 😉
After you have downloaded the symbols, check that your cside objects are included in the symbols. I do this with the VS Code extension AL Explorer. Right click on the symbol file Microsoft_Application_<Version No.>.app, choose “Open In AL Object Browser”. Scroll down and see if the objects are included.
If they aren’t included doublecheck that the version number in the client matches the version number on the symbol file. There is a bug in a lot of onprem versions where the application symbols are wrong, which have been reported at GitHub.
If these versions doesn’t match then unpublish the wrong symbol app or regenerate symbos. Instructions exists this link. Follow them and then download the symbols again.
A minor detail, make sure that your application version in app.json is at least on the same version number as you installation. Ex. if your application version is 13.0.27183, make sure your application version is at least 126.96.36.199.
So now you have the right symbol file and it still doesn’t work. The last thing to do is to do a COMPLETE generation of symbols in the datase. It seems that if you import a smaller set of CSIDE objects you manage without this but if you have bigger sets of CSIDE objects you need to do this.
If you run a complete installation see this link for instructions to do a complete generation of symbols.
If you run docker and use the navcontainerhelper powershell library you can use the cmdlet Generate-SymbolsInNavContainer.
I hope these checks helped you with solving the symbol problem.
2019-10-14 at 01:47
I have added the command “enableSymbolLoading” to my script for my docker container, but unfortunately I get at the following error message at the end of my installation:
-enableSymbolLoading: The name “-enableSymbolLoading” was not used as the name of a cmdlet, a function, a script file, or a recognized executable program.
Do you know how to solve this?
This is my script:
$credential = get-credential -UserName $env:USERNAME -Message “Using Windows Authentication. Please enter your Windows credentials.”
New-NavContainer -accept_eula:$accept_eula `
-containername $containername `
-auth Windows `
-Credential $credential `
-shortcuts Desktop `
-imageName $navdockerimage `
Setup-NavContainerTestUsers -containerName $containername -password $credential.Password
Thank you 😉
2019-10-14 at 09:38
The error seems to be easier than you think.
It looks like you are missing a backtick (´).
You have writen:
when it should be:
“-additionalParameters $additionalParameters BACKTICK
And backtick = `
2019-10-15 at 07:38
Thank you for your help 🙂
2019-10-14 at 01:49
If you need more information, please ask 😉
2020-12-04 at 11:08
Thank you for this hint 🙂