NAV 2013 & Later - Differences between Binaries in your installation or your database.
Sometime while working on a Upgraded Database to NAV 2013 & Later we face a run time error with pages. One of the issue & its resolution is listed below.
After upgrade from NAV 2009 / NAV 2009 SP1 & NAV 2009 R2 you might have faced an error message as shown below -
ERROR - Compilation of assembly 'c:\ProgramData\Microsoft\Microsoft Dynamics\NAV\71\Serve\MicorosoftDynamicsNAVServer$..\assembly\Page.dll' failed.
This can be caused by differences between Binaries in your installation or your database.
Ensure that all installation components are consistent and up to date. Error................................
We tried to compile objects and it doesn't throw an error message but during run time the system popups the above error message. Even the Debugger it doesn't help. When we thought we had exhausted our options we decided to reread the error message because the cause of the error was specified in the error message. So in our case: Findings After Reading the Error Message:
1. Received this error for Page 6500. 2. Reason - Two Functions with same name i.e OnAfterGetCurrRecord. (as shown below)
Resolution - We designed the page and removed customized Function OnAfterGetCurrRecord, and the error was removed. Why there were two in our case? If you remember in NAV 2009 Versions we don't have the standard OnAfterGetCurrRecord Function in Pages, but with NAV 2013 and onward we get this function back. So in 2009 Due to some requirement we had created the function as customized. Below are the Page triggers in NAV 2009 and NAV 2013.
There can be other errors like this, so make sure you read the complete error message for the resolution.