Orleans analyzer diagnostics
Orleans analyzers detect unsupported RPC contracts, serialization schema problems, unsafe grain execution patterns, and compatibility changes. Select a diagnostic ID for its cause, impact, remediation, code-fix behavior, and suppression guidance.
Analyzer help links use https://aka.ms/orleans/diagnostics with the diagnostic ID as a URL fragment. The single redirect can therefore remain stable while this index and the detailed pages evolve.
ORLEANS0001
Section titled “ORLEANS0001”Place AlwaysInterleave on the grain interface — Error. [AlwaysInterleave] is applied to an implementation method.
ORLEANS0002
Section titled “ORLEANS0002”Reference parameter modifiers are not allowed — Error. A remote interface method uses ref, out, or in.
ORLEANS0003
Section titled “ORLEANS0003”Inherit from Grain — Removed. Current Orleans versions support POCO grain classes.
ORLEANS0004
Section titled “ORLEANS0004”Add missing serialization attributes — Error. A generated-serializer type has an unannotated member.
ORLEANS0005
Section titled “ORLEANS0005”Add GenerateSerializer — Info. A [Serializable] type does not opt into Orleans source-generated serialization.
ORLEANS0006
Section titled “ORLEANS0006”Static or abstract members cannot be serialized — Error. An invalid member is assigned an Orleans serialization ID.
ORLEANS0007
Section titled “ORLEANS0007”Use one Orleans activation constructor — Error. Constructor-selection metadata is ambiguous or invalid.
ORLEANS0008
Section titled “ORLEANS0008”Grain interfaces cannot contain properties — Error. An Orleans remote interface declares an instance property.
ORLEANS0009
Section titled “ORLEANS0009”Use a registered grain-call return type — Error. Orleans cannot map a remote method return type to an invokable request.
ORLEANS0010
Section titled “ORLEANS0010”Add a stable Alias — Info. A type or RPC method uses a name-derived identity.
ORLEANS0011
Section titled “ORLEANS0011”Rename a duplicated Alias — Error. Type or method aliases collide.
ORLEANS0012
Section titled “ORLEANS0012”Change a duplicated serialization Id — Error. Members of one serialized type reuse a field ID.
ORLEANS0013
Section titled “ORLEANS0013”Remove serialization identity attributes from a grain class — Error. A grain implementation is marked for data serialization.
ORLEANS0014
Section titled “ORLEANS0014”Preserve the grain execution context — Warning. ConfigureAwait can move a continuation outside the grain scheduler.
ORLEANS0016
Section titled “ORLEANS0016”Grain interface is not active in OrleansContracts.txt — Warning. A grain interface is missing or retired in the manifest.
ORLEANS0017
Section titled “ORLEANS0017”Grain interface version mismatch — Warning. Source and manifest versions differ.
ORLEANS0018
Section titled “ORLEANS0018”Grain interface member not declared — Warning. An RPC signature is absent from the manifest.
ORLEANS0019
Section titled “ORLEANS0019”Removed grain interface is not retired — Warning. An active manifest interface no longer exists in source.
ORLEANS0020
Section titled “ORLEANS0020”OrleansContracts.txt is missing — Info. Contract analysis is enabled without a manifest.
ORLEANS0021
Section titled “ORLEANS0021”Duplicate grain interface declaration — Warning. The manifest repeats an interface name or identity.
ORLEANS0022
Section titled “ORLEANS0022”Grain class is not active in OrleansContracts.txt — Warning. A grain class is missing or retired in the manifest.
ORLEANS0023
Section titled “ORLEANS0023”Grain class identity mismatch — Warning. Source and manifest grain types differ.
ORLEANS0024
Section titled “ORLEANS0024”Removed grain class is not retired — Warning. An active manifest grain class no longer exists in source.
ORLEANS0025
Section titled “ORLEANS0025”Duplicate grain class declaration — Warning. The manifest repeats a grain class name or identity.
ORLEANS0026
Section titled “ORLEANS0026”Invalid invokable base type mapping — Error. A custom grain-call return type mapping cannot generate a valid invokable request.
ORLEANS0027
Section titled “ORLEANS0027”Grain interface member removed from source — Warning. The manifest retains an RPC signature which is absent from source.
