AL icon indicating copy to clipboard operation
AL copied to clipboard

Application area issue, analyzer warning AD0001 - Rule189ApplicationAreaHasInvalidValue

Open linasostreika opened this issue 1 year ago • 1 comments

Hi,

We found ourselfves in situation where we receive a warning from analyzer with ID AD0001, which shouldnt be considered as warning.

We have a field obsoleted on Application Area Setup extension:

tableextension 17031631 "S4LA Appl. Area Setup Ext." extends "Application Area Setup" { fields { field(17021801; "S4LA Leasing"; Boolean) { DataClassification = CustomerContent; Caption = '(Obsolete) S4Leasing'; Description = 'S4Leasing new Application area'; ObsoleteState = Removed; ObsoleteReason = 'SL63 replaced by another field S4LALeasing'; ObsoleteTag = '63.0.0.0'; } field(17021802; S4LALeasing; Boolean) { Caption = 'S4LA Leasing'; DataClassification = CustomerContent; } } }

Analyzer shows warning:

warning AD0001: Analyzer 'Microsoft.Dynamics.Nav.CodeCop.Design.Rule189ApplicationAreaHasInvalidValue' threw an exception of type 'System.ArgumentException' with message 'System.ArgumentException: An item with the same key has already been added. Key: S4LALeasing at System.Collections.Generic.Dictionary2.TryInsert(TKey key, TValue value, InsertionBehavior behavior) at System.Collections.Generic.Dictionary2.Add(TKey key, TValue value) at Microsoft.Dynamics.Nav.CodeCop.Design.Rule189ApplicationAreaHasInvalidValue.ExtractAppAreaFromFields(PooledList1 fields, PooledNameObjectDictionary1 appAreas, StringBuilder stringBuilder) in X:\Prod\Microsoft.Dynamics.Nav.CodeCop\Design\Rule189ApplicationAreaHasInvalidValue.cs:line 162 at Microsoft.Dynamics.Nav.CodeCop.Design.Rule189ApplicationAreaHasInvalidValue.GetApplicationAreas(CompilationStartAnalysisContext ctx, String& validAppAreasOrder) in X:\Prod\Microsoft.Dynamics.Nav.CodeCop\Design\Rule189ApplicationAreaHasInvalidValue.cs:line 138 at Microsoft.Dynamics.Nav.CodeCop.Design.Rule189ApplicationAreaHasInvalidValue.<Initialize>b__3_0(CompilationStartAnalysisContext compilationStartAnalysisContext) in X:\Prod\Microsoft.Dynamics.Nav.CodeCop\Design\Rule189ApplicationAreaHasInvalidValue.cs:line 35 at Microsoft.Dynamics.Nav.CodeAnalysis.Diagnostics.AnalyzerExecutor.ExecuteAndCatchIfThrows_NoLock(DiagnosticAnalyzer analyzer, Action analyze, Nullable`1 info) in X:\Prod\Microsoft.Dynamics.Nav.CodeAnalysis\DiagnosticAnalyzer\AnalyzerExecutor.cs:line 1088'

linasostreika avatar Jun 18 '24 10:06 linasostreika

The error shows the analyser is crashing. It shouldn't crash, thus marking for triage

BazookaMusic avatar Jun 21 '24 21:06 BazookaMusic