Wednesday, February 27, 2019

DevOps Build Issue - Giving up. Received a null descriptor for the form

Hi,

During an Azure DevOps Build, I raised the error "Giving up. Received a null descriptor for the form FORMNAME" for different Custom Forms.

Running the Build from Visual Studio in the same Machine, any issues!

Really Strange!!
Let's start the game!!!

Thanks to MS Yammer and to Joris de Gruyter, I figure out the origin of the issue but no the real cause.

However, it seems that the compiler itself is not the issue, but a process after compilation called form compiler. It’s an optimization step for the runtime that seems will be remove in the upcoming release.

Workaround: 

I decide to modify the Build in order to avoid any Stop if an errors occur during the Form Compiler step.

In order to do that, we need:
  1. walk through to the folder "C:\DynamicsSDK\Metadata"
  2. make a copy of the "Microsoft.Dynamics.AX.Application.Build.targets" file
  3. edit the "Microsoft.Dynamics.AX.Application.Build.targets" file
  4. find the Section "Execute Pgc executable"
  5. modify the "ContinueOnError" parameter from "ErrorAndStop" to "WarnAndContinue"
  6. save the file
  7. rerun the Build

Cheers!

Friday, February 1, 2019

8.1.3 Platform Update 23 Installation Issue - Dynamics 365 for Finance & Operations LBD

Hi all,

in the last days I tried to install the 8.1.3 Platform Update 23 version on my F&O LBD Environment but I raised some error.

Really thank you to Mohamed Zaki and Renaud Paquay for helping me to address the resolution.

AOS Application Error:

Application: AXBootstrapper.exe
Framework Version: v4.0.30319
Description: The application requested process termination through System.Environment.FailFast(string message).
Message: RunAsync failed due to an unhandled exception causing the host process to crash: System.Management.Automation.RuntimeException: Exception calling "GetTypes" with "0" argument(s): "Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information." ---> System.Management.Automation.MethodInvocationException: Exception calling "GetTypes" with "0" argument(s): "Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information." ---> System.Reflection.ReflectionTypeLoadException: Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)

Reason:

AxBootStrapper is trying to load the netstandard.dll assembly from the GAC.

Resolution:

You need to install the netstandard.dll to your GAC on all AOSs.
For each AOS, go through C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1\  or ..\NETFX 4.5.1 Tools\ and run the following CMD command:

gacutil.exe -i "DLL Path\netstandard.dll"

You can find the DLL to the Agent path \\....WP\EnvName\StandaloneSetup-xxxxxxx\Apps\AOS\AXServiceApp\AXSF\Code\bin\

something like:
gacutil -i ..\agent\wp\XXX\StandaloneSetup-207104\Apps\AOS\AXServiceApp\AXSF\Code\bin\netstandard.dll

I guess the hotfix coming soon!

Till soon!