AX2012 R3升级CU8的一些错误
AX2012 R3安装升级包CU8后进入系统,系统会提示打开软件升级清单“Software update checklist”,清单列出了升级要做的一系列动作。
- 在进行到编译应用时“Compile application”出现很多错误:
Severity | Path | Line | Col | Error message |
Error | \Classes\PayrollCalculatePayStatementBenefits\classDeclaration | 12 | 5 | Syntax error. |
Error | \Classes\PayrollCalculatePayStatementTaxes\classDeclaration | 42 | 5 | Syntax error. |
Error | \Classes\PayrollTaxCalculation\classDeclaration | 7 | 5 | Syntax error. |
Error | \Classes\PayrollTaxEngineUtil\checkInTaxEngine | 7 | 37 | Syntax error. |
Error | \Classes\PayrollTaxEngineUtil\checkOutTaxEngine | 7 | 15 | Syntax error. |
Error | \Classes\PayrollTaxEngineUtil\getPoliticalSubDivision | 31 | 5 | Syntax error. |
Error | \Classes\PayrollTaxEngineUtil\getPoliticalSubDivisionByTaxCode | 20 | 5 | Syntax error. |
Error | \Classes\PayrollTaxEngineUtil\getTaxEngineVersion | 10 | 39 | Syntax error. |
Error | \Classes\PayrollTaxEngineUtil\getTaxTableVersion | 10 | 38 | Syntax error. |
Error | \Classes\PayrollTaxEngineUtil\money2Real | 11 | 40 | Syntax error. |
Error | \Classes\PayrollTaxEngineUtil\real2Hours | 11 | 22 | Syntax error. |
Error | \Classes\PayrollTaxEngineUtil\real2Money | 11 | 22 | Syntax error. |
Error | \Classes\PayrollTaxEngineUtil\real2Rate | 11 | 22 | Syntax error. |
Error | \Classes\PayrollTaxEngineUtil\taxCalculation2TaxCode | 11 | 62 | Syntax error. |
Error | \Classes\PayrollTaxTypeInitialization\classDeclaration | 8 | 5 | Syntax error. |
Error | \Classes\WHSWorkTableForm\sourceButton_clicked | 36 | 93 | The table WHSWorkLineCycleCount does not contain the method WHSWorkTable. |
Error | \Classes\PayrollSetup\refreshWorkerTaxRegionTaxes | 25 | 5 | Variable Symmetry has not been declared. |
Error | \Classes\PayrollTaxEngineUtil\getGNISLocations | 40 | 5 | Variable Symmetry has not been declared. |
Error | \Classes\PayrollTaxEngineUtil\getMunicipalities | 39 | 5 | Variable Symmetry has not been declared. |
Error | \Classes\PayrollTaxEngineUtil\getSchoolDistricts | 41 | 5 | Variable Symmetry has not been declared. |
Error | \Classes\PayrollTaxEngineUtil\getTaxEngineLocationCodeList | 38 | 5 | Variable Symmetry has not been declared. |
Error | \Data Dictionary\Tables\PayrollEmployerTaxRegion\Methods\retrieveGNIS | 12 | 5 | Variable Symmetry has not been declared. |
Error | \Data Dictionary\Tables\PrlTmpGNIS\Methods\populatePrlTmpGNIS | 13 | 5 | Variable Symmetry has not been declared. |
查看第一个错误\Classes\PayrollCalculatePayStatementBenefits\classDeclaration,进到代码发现“Symmetry.TaxEngine.BenefitInfo benefitInfo401_403;”一行Symmetry.TaxEngine.BenefitInfo没有定义,应该是某个.NET应用没有正确注册。在AX社区https://community.dynamics.com/ax/f/33/t/126055.aspx查到是因为ste-net.dll没有成功引用,在目录C:\Program Files (x86)\Microsoft Dynamics AX\60\Client\Bin找到ste-net.dll,重新添加到AOT/References下。
重新编译,错误只剩下“The table WHSWorkLineCycleCount does not contain the method WHSWorkTable”。也是在AX社区找到答案,https://community.dynamics.com/ax/f/33/t/137853.aspx,表WHSWorkLineCycleCount 和表WHSWorkTable的关系CreateNavigationPropertyMethods 没有设置为YES,实际上系统中这个relation根本就没有CreateNavigationPropertyMethods属性,解决办法是需要应用hotfix KB3001197(https://mbs2.microsoft.com/Knowledgebase/kbdisplay.aspx?WTNTZSMNWUKNTMMYNLOWUUPRYQYWXNMQVMLWYXRMMRSVYSUZ)。
再次重新编译,又出现错误“Stack trace: An empty SQL statement descriptor list has been encountered.”,按照微软TechNet(http://technet.microsoft.com/en-us/library/jj161010.aspx)的说法是一些Configuration key被关闭导致的,在Configuration key配置中启用所有的Key,同步数据库表,重新编译application成功。
- 按照升级清单执行到Compile into .NET Framework CIL时出现错误“The CIL generator found errors and could not save the new assembly”,停止AOS服务,删除目录C:\Program Files\Microsoft Dynamics AX\60\Server\MicrosoftDynamicsAX\bin\XppIL下的所有文件,重新启动AOS,再做一次full CIL编译成功。
- 进行到“Synchronize database”时出现错误“Failed to create a session; confirm that the user has the proper privileges to log on to Microsoft Dynamics”,我的系统中数据是从R3的demo data导入的,当前的admin用户在demo分区的ps和ext分区中部存在记录,参照“http://domhk.blogspot.com/2014/10/ax2012-r3-demo-data-failed-to-create.html”解决,具体是新建2个临时用户,然后直接在数据库中更新这2个用户记录为admin用户在ps和ext中的记录。
成功安装CU8后AX 2012 R3的kernel version为6.3.164.3198,application version为6.3.1000.473。