RSS

Tag Archives: Business Central

How-To Compile a Business Central App/Extenssion Manually

How-To Compile a Business Central App/Extenssion Manually

Do you want to know how to compile your Business Central app manually as VS Code does? Then you will get started with this blog post.

It all starts with the ALLanguage.vsix file.
On the installation DVD it can be found at the path:
ModernDev\program files\Microsoft Dynamics NAV\130\AL Development Environment

If you use docker it can be found at C:\Run\*.vsix

The VSIX file contains the AL language and the compiler.
This file is basically a ZIP folder. Rename it to .zip and extract it to C:\Build\vsix

You can compile your app by using the command prompt or by using powershell.
Lets say that the app is located at: C:\GIT\MyProject\App”
Then we can run the following code in the command prompt to compile our app:
cd C:\build\vsix\extension\bin
alc.exe /project:"C:\GIT\MyProject\App" /packagecachepath:"C:\GIT\MyProject\App\.alpackages" /out:"C:\GIT\MyProject\App\MyApp.app"


If you would like to use powershell it would look like this:

$alcPath = 'C:\build\vsix\extension\bin'
$appProjectFolder = 'C:\GIT\MyProject\App'
$appSymbolsFolder = 'C:\GIT\MyProject\App\.alpackages'
$appOutputFile = 'C:\GIT\MyProject\App\MyApp.app'
Set-Location -Path $alcPath
& .\alc.exe /project:$appProjectFolder /packagecachepath:$appSymbolsFolder /out:$appOutputFile

If you want to do this with powershell and docker there is already an existing cmdlet that does this which I got the inspiration from.
The cmdlet is Compile-AppInNavContainer.ps1 and is a part of the navcontainerhelper.






 
Leave a comment

Posted by on 2019-03-03 in Okategoriserade

 

Tags: , ,

A package with publisher ‘Microsoft’, name ‘Application’, and a version compatible with ‘13.0.0.0’ could not be loaded.

A package with publisher ‘Microsoft’, name ‘Application’, and a version compatible with ‘13.0.0.0’ could not be loaded.

I recieved the following error when trying to build my Business Central App:
A package with publisher ‘Microsoft’, name ‘Application’, and a version compatible with ‘13.0.0.0’ could not be loaded.
Compile-AppInNavContainer : App generation failed At C:\Install\BuildAgent\vsts-agent-win-x64-2.146.0\_work\3\s\PowerShell\BuildAgent\Compile-App.ps1:24 char:5 + Compile-AppInNavContainer -containerName $containerName ` + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Compile-AppInNavContainer
PowerShell exited with code ‘1’.

The scenario I had was an onprem extension version 13 that should be run on a cu 3 which relies on imported CSIDE objects. 

What I did to solve the problem was to follow my checklist for CSIDE objects not includes in symbols.

 
Leave a comment

Posted by on 2019-03-03 in Okategoriserade

 

Tags: , , ,

Business Central, CSIDE objects not included in symbols

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

enableSymbolLoading in docker

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

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.

 
1 Comment

Posted by on 2019-03-03 in Okategoriserade

 

Tags: , , , , ,

 
Freddys blog

Learn something new... - then Teach someone!

Stefano Demiliani Technical Blog

Reflections from the ERP field

David Worthington's NAV Performance Blog

Micosoft Dynamics NAV Performance Testing & Optimization

Freddys Blog

Reflections from the ERP field

Mark Brummel Blog | Microsoft Dynamics NAV

Master Classes Design Patterns and more...

Vjeko.com

ideas in the cloud

Goprowe AB

Reflections from the ERP field

ArcherPoint Developer Blog

Reflections from the ERP field

The NAV Viking´s Blog

- Sharing my experience in the Dynamics NAV world

Comments for waldo's blog

Reflections from the ERP field

Nav Can Be Fun

Its Really Fun to Work with Microsoft Dynamics Nav / D365 Business Central

Navision-Girl.Com

Reflections from the ERP field

LET'S TALK NAV

Tips, Tricks, How-To's & News about Microsoft Dynamics NAV & Dynamics 365 for Financials

Kine's Info

Reflections from the ERP field

blog.wibeck.org/

Just another WordPress.com site

NAV/SQL Performance - My Two Cents

Reflections from the ERP field

Hougaard.com – Applied Hacking

Reflections from the ERP field

Kauffmann @ Dynamics 365 Business Central

Reflections from the ERP field

Kriki’s Dynamics NAV blog

Reflections from the ERP field