ANcpLua.Analyzers 1.19.3

dotnet add package ANcpLua.Analyzers --version 1.19.3
                    
NuGet\Install-Package ANcpLua.Analyzers -Version 1.19.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ANcpLua.Analyzers" Version="1.19.3">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ANcpLua.Analyzers" Version="1.19.3" />
                    
Directory.Packages.props
<PackageReference Include="ANcpLua.Analyzers">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ANcpLua.Analyzers --version 1.19.3
                    
#r "nuget: ANcpLua.Analyzers, 1.19.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ANcpLua.Analyzers@1.19.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ANcpLua.Analyzers&version=1.19.3
                    
Install as a Cake Addin
#tool nuget:?package=ANcpLua.Analyzers&version=1.19.3
                    
Install as a Cake Tool

NuGet .NET Standard 2.0 License: MIT

ANcpLua.Analyzers

Roslyn analyzers for modern C# patterns, OpenTelemetry instrumentation, AOT safety, and ANcpLua ecosystem conventions.

Installation

dotnet add package ANcpLua.Analyzers

Using ANcpLua.NET.Sdk? This package is auto-injected - no installation needed.

What you get

  • 99 diagnostics spanning design, reliability, performance, OpenTelemetry, ASP.NET Core, AOT, and version management.
  • 38 automatic code fixes for high-confidence transformations.
  • CI-friendly enforcement through .editorconfig severity configuration.

Rule coverage by category

Category Rules
Roslyn Utilities 20
OpenTelemetry 19
AOT Testing 10
ASP.NET Core 8
Usage 8
VersionManagement 6
Configuration 5
Design 5
Metrics 5
Threading 5
GenAI 4
Style 3
Reliability 1

Full rule catalog

Rule Category Severity Analyzer
AL0001 Design Error Al0001ProhibitPrimaryConstructorParameterReassignmentAnalyzer
AL0002 Design Warning Al0002DontRepeatNegatedPatternAnalyzer
AL0003 Reliability Error Al0003DontDivideByConstantZeroAnalyzer
AL0004 Usage Warning Al0004ToAl0005SpanComparisonAnalyzer
AL0005 Usage Warning Al0004ToAl0005SpanComparisonAnalyzer
AL0006 Design Warning Al0006FieldNameConflictWithPrimaryConstructorAnalyzer
AL0007 Usage Error Al0007ToAl0009IXmlSerializableAnalyzer
AL0008 Usage Error Al0007ToAl0009IXmlSerializableAnalyzer
AL0009 Usage Error Al0007ToAl0009IXmlSerializableAnalyzer
AL0010 Design Disabled Al0010PartialTypeAnalyzer
AL0011 Threading Warning Al0011LockKeywordAnalyzer
AL0012 OpenTelemetry Warning Al0012DeprecatedAttributeAnalyzer
AL0013 OpenTelemetry Info Al0013MissingSchemaUrlAnalyzer
AL0014 Style Warning Al0014PreferPatternMatchingAnalyzer
AL0015 Style Info Al0015NormalizeNullGuardStyleAnalyzer
AL0016 Style Info Al0016CombineDeclarationWithNullCheckAnalyzer
AL0017 VersionManagement Warning Al0017HardcodedPackageVersionAnalyzer
AL0018 VersionManagement Warning Al0018VersionPropsNotImportedAnalyzer
AL0019 VersionManagement Warning Al0019UndefinedVersionVariableAnalyzer
AL0020 ASP.NET Core Error Al0020ToAl0024FormBindingAnalyzer
AL0021 ASP.NET Core Error Al0020ToAl0024FormBindingAnalyzer
AL0022 ASP.NET Core Error Al0020ToAl0024FormBindingAnalyzer
AL0023 ASP.NET Core Error Al0020ToAl0024FormBindingAnalyzer
AL0024 ASP.NET Core Error Al0020ToAl0024FormBindingAnalyzer
AL0025 Usage Warning Al0025PreferStaticLambdaAnalyzer
AL0026 Usage Warning Al0026AvoidDateTimeNowAnalyzer
AL0027 Usage Warning Al0027AvoidNewtonsoftJsonAnalyzer
AL0028 Roslyn Utilities Info Al0028UseIsEqualToAnalyzer
AL0029 Roslyn Utilities Info Al0029UseHasAttributeAnalyzer
AL0030 Roslyn Utilities Info Al0030UseTypeHierarchyAnalyzer
AL0031 Roslyn Utilities Info Al0031UseOperationExtensionsAnalyzer
AL0032 Roslyn Utilities Info Al0032UseOrEmptyAnalyzer
AL0033 Roslyn Utilities Info Al0033UseToImmutableArrayOrEmptyAnalyzer
AL0034 Roslyn Utilities Info Al0034UseWhereNotNullAnalyzer
AL0035 Roslyn Utilities Info Al0035UseToDisplayStringExtensionsAnalyzer
AL0036 Roslyn Utilities Warning Al0036UseGuardNotNullAnalyzer
AL0037 Roslyn Utilities Warning Al0037UseTryParseExtensionsAnalyzer
AL0038 Roslyn Utilities Warning Al0038UseGetOrNullAnalyzer
AL0039 Roslyn Utilities Warning Al0039UseStringComparisonExtensionsAnalyzer
AL0040 Roslyn Utilities Warning Al0040UseAttributeExtensionsAnalyzer
AL0041 AOT Testing Error Al0041AotTestMustReturnIntAnalyzer
AL0042 AOT Testing Warning Al0042AotTestExitCode100Analyzer
AL0043 AOT Testing Warning Al0043TrimSafeViolationAnalyzer
AL0044 AOT Testing Warning Al0044AotSafeViolationAnalyzer
AL0045 Roslyn Utilities Warning Al0045UseGuardNotNullOrEmptyAnalyzer
AL0046 Roslyn Utilities Warning Al0046UseGuardNotNullOrWhiteSpaceAnalyzer
AL0047 Roslyn Utilities Warning Al0047UseGuardNotZeroAnalyzer
AL0048 Roslyn Utilities Warning Al0048UseGuardNotNegativeAnalyzer
AL0049 Roslyn Utilities Warning Al0049UseGuardPositiveAnalyzer
AL0050 Roslyn Utilities Warning Al0050UseGuardNotEmptyGuidAnalyzer
AL0051 Roslyn Utilities Warning Al0051UseGuardDefinedEnumAnalyzer
AL0052 AOT Testing Error Al0052AotSafeCallsAotUnsafeAnalyzer
AL0053 AOT Testing Warning Al0053UnnecessaryAotUnsafeAnalyzer
AL0054 VersionManagement Warning Al0054ToAl0056DiagnosticsAlignmentAnalyzer
AL0055 VersionManagement Warning Al0054ToAl0056DiagnosticsAlignmentAnalyzer
AL0056 VersionManagement Warning Al0054ToAl0056DiagnosticsAlignmentAnalyzer
AL0057 Threading Warning Al0057ToAl0060ThreadingAnalyzer
AL0058 Threading Warning Al0057ToAl0060ThreadingAnalyzer
AL0059 Threading Warning Al0057ToAl0060ThreadingAnalyzer
AL0060 Threading Warning Al0057ToAl0060ThreadingAnalyzer
AL0061 OpenTelemetry Warning Al0061ActivityMissingSemconvAnalyzer
AL0062 OpenTelemetry Warning Al0062DeprecatedSemconvAnalyzer
AL0063 OpenTelemetry Warning Al0063UnregisteredActivitySourceAnalyzer
AL0064 GenAI Warning Al0064GenAiMissingRequiredAttributesAnalyzer
AL0065 GenAI Warning Al0065UseTokenUsageHistogramAnalyzer
AL0066 GenAI Warning Al0066InvalidGenAiOperationNameAnalyzer
AL0067 Metrics Warning Al0067UnregisteredMeterAnalyzer
AL0068 Metrics Warning Al0068InvalidMetricNameAnalyzer
AL0069 Configuration Warning Al0069IncompleteServiceDefaultsAnalyzer
AL0070 Configuration Warning Al0070NonOtlpCollectorEndpointAnalyzer
AL0071 Metrics Error Al0071MeterClassMustBePartialStaticAnalyzer
AL0072 Metrics Error Al0072MetricMethodMustBePartialAnalyzer
AL0073 OpenTelemetry Error Al0073TracedActivitySourceNameAnalyzer
AL0074 GenAI Warning Al0074DeprecatedGenAiAttributeAnalyzer
AL0075 Metrics Warning Al0075HighCardinalityMetricTagAnalyzer
AL0076 OpenTelemetry Warning Al0076MissingOTelConfigurationAnalyzer
AL0077 OpenTelemetry Warning Al0077DuplicateInstrumentationAnalyzer
AL0078 OpenTelemetry Error Al0078InvalidActivitySourceNameAnalyzer
AL0079 OpenTelemetry Info Al0079ManualSpanRecommendedAnalyzer
AL0080 ASP.NET Core Warning Al0080MissingResilienceConfigurationAnalyzer
AL0081 ASP.NET Core Warning Al0081MissingHealthChecksAnalyzer
AL0082 Configuration Info Al0082ConsiderConnectionStringAnalyzer
AL0083 Configuration Warning Al0083InsecureEndpointAnalyzer
AL0084 ASP.NET Core Warning Al0084MissingServiceDiscoveryAnalyzer
AL0085 OpenTelemetry Error Al0085InvalidAttributeValueAnalyzer
AL0086 OpenTelemetry Warning Al0086IncorrectAttributeTypeAnalyzer
AL0087 OpenTelemetry Info Al0087PreferConstantAttributeAnalyzer
AL0088 OpenTelemetry Warning Al0088SensitiveDataInAttributeAnalyzer
AL0089 OpenTelemetry Warning Al0089MissingOtlpConfigurationAnalyzer
AL0090 OpenTelemetry Warning Al0090UncompressedExportAnalyzer
AL0091 OpenTelemetry Warning Al0091BatchExportDisabledAnalyzer
AL0092 OpenTelemetry Info Al0092ConsiderSamplingAnalyzer
AL0093 OpenTelemetry Warning Al0093MissingResourceAttributesAnalyzer
AL0094 AOT Testing Warning Al0094AvoidDynamicKeywordAnalyzer
AL0095 AOT Testing Warning Al0095AvoidExpressionCompileAnalyzer
AL0096 Configuration Warning Al0096EnableEventSourceSupportAnalyzer
AL0101 AOT Testing Warning Al0101AvoidActivatorCreateInstanceAnalyzer
AL0102 AOT Testing Warning Al0102AvoidTypeGetTypeAnalyzer
AL0103 Design Warning Al0103ClosedTypeHierarchySwitchAnalyzer

Legend: Error = build error, Warning = build warning, Info = IDE suggestion, Disabled = off by default.

Code fixes

Automatic fixes are currently available for:

AL0002, AL0004, AL0005, AL0008, AL0010, AL0011, AL0012, AL0014, AL0015, AL0016, AL0025, AL0026, AL0027, AL0028, AL0029, AL0030, AL0031, AL0032, AL0033, AL0034, AL0035, AL0036, AL0037, AL0038, AL0039, AL0040, AL0045, AL0046, AL0047, AL0048, AL0049, AL0050, AL0051, AL0071, AL0072, AL0073, AL0074, AL0103

Configuration

[*.cs]
dotnet_diagnostic.AL0001.severity = error
dotnet_diagnostic.AL0014.severity = none

Development commands

# Build
dotnet build ANcpLua.Analyzers.slnx -c Release

# Test
dotnet test --project tests/ANcpLua.Analyzers.Tests/ANcpLua.Analyzers.Tests.csproj

# Pack
dotnet pack src/ANcpLua.Analyzers/ANcpLua.Analyzers.csproj -c Release -o artifacts -p:PackageId=ANcpLua.Analyzers

Documentation

License

MIT

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

  • .NETStandard 2.0

    • No dependencies.
  • net10.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.19.3 36 2/14/2026
1.19.1 57 2/14/2026
1.19.0 39 2/14/2026
1.18.0 65 2/14/2026
1.16.0 165 2/13/2026
1.15.0 43 2/13/2026
1.14.0 47 2/13/2026
1.13.0 130 2/5/2026
1.12.0 87 2/4/2026
1.10.7 211 1/28/2026
1.10.6 97 1/27/2026
1.10.5 128 1/27/2026
1.10.4 86 1/27/2026
1.10.3 92 1/25/2026
1.10.2 121 1/22/2026
1.10.0 93 1/21/2026
1.9.0 992 1/21/2026
1.8.0 91 1/21/2026
1.7.0 149 1/21/2026
1.6.16 126 1/21/2026
Loading failed