ContextualOptions

September 11, 2024 ยท View on GitHub

Diagnostic IDDescription
CTXOPTGEN000Options context classes can't be static
CTXOPTGEN001Options context types must be partial
CTXOPTGEN002The options context type does not have usable properties
CTXOPTGEN003The options context cannot be a ref-like type

Experiments

As new functionality is introduced to this repo, new in-development APIs are marked as being experimental. Experimental APIs offer no compatibility guarantees and can change without notice. They are usually published in order to gather feedback before finalizing a design.

You may use experimental APIs in your application, but we advise against using these APIs in production scenarios as they may not be fully tested nor fully reliable. Additionally, we strongly recommend that library authors do not publish versions of their libraries that depend on experimental APIs as this will quite possibly lead to future breaking changes and diamond problems.

If you use experimental APIs, you will get one of the diagnostic shown below. The diagnostic is there to let you know you're using such an API so that you can avoid accidentally depending on experimental features. You may suppress these diagnostics if desired.

Diagnostic IDDescription
EXTEXP0001Resilience experiments
EXTEXP0002Compliance experiments
EXTEXP0003Telemetry experiments
EXTEXP0004TimeProvider experiments
EXTEXP0006AsyncState experiments
EXTEXP0007Health check experiments
EXTEXP0008Resource monitoring experiments
EXTEXP0009Hosting experiments
EXTEXP0010Object pool experiments
EXTEXP0011Document database experiments
EXTEXP0012Auto-activation experiments
EXTEXP0013HttpLogging middleware experiments
EXTEXP0014ASP.NET Core integration testing experiments
EXTEXP0015Environmental probes experiments
EXTEXP0016Hosting integration testing experiments
EXTEXP0017Contextual options experiments
EXTEXP0018HybridCache experiments

Obsoletions

At some point in its lifecycle APIs become obsolete. If you use obsolete APIs, you will get one of the diagnostic shown below.

You may continue using obsolete APIs in your application, but we advise exploring proposed alternatives which you will find in the obsoletion message.

Diagnostic IDDescription
EXTOBS0001This API is obsolete and will be removed in a future version. Consider using Resource Monitoring observable instruments.

LoggerMessage

Diagnostic IDDescription
LOGGEN000Don't include log level parameters as templates
LOGGEN001Couldn't find a required type definition
LOGGEN002Each logging method should use a unique event id
LOGGEN003Logging methods must return void
LOGGEN004A static logging method must have a parameter that implements the "Microsoft.Extensions.Logging.ILogger" interface
LOGGEN005Logging methods must be static
LOGGEN006Logging methods must be partial
LOGGEN007Logging methods can't be generic
LOGGEN008Redundant qualifier in the logging message
LOGGEN009Don't include exception parameters as templates in the logging message
LOGGEN010The logging template has no corresponding method parameter
LOGGEN011A parameter isn't referenced from the logging message
LOGGEN012Logging methods can't have a body
LOGGEN013A "LogLevel" value must be supplied
LOGGEN014Don't include logger parameters as templates
LOGGEN015Couldn't find a field of type "Microsoft.Extensions.Logging.ILogger"
LOGGEN016Multiple fields of type "Microsoft.Extensions.Logging.ILogger" were found
LOGGEN017Can't combine the [LogProperties] or [TagProvider] attributes with data classification attributes
LOGGEN018Can't log properties of a parameter or property
LOGGEN019Method parameter can't be used to log properties
LOGGEN020Logging method parameter type has no public properties to log
LOGGEN021Logging method parameter type has cycles in its type hierarchy
LOGGEN022Tag provider method not found
LOGGEN023Tag provider method is inaccessible
LOGGEN024Property provider method has an invalid signature
LOGGEN025Logging method parameters can't have "ref" or "out" modifiers
LOGGEN026Parameters with a custom tag provider are not subject to redaction
LOGGEN027Multiple logging methods shouldn't use the same event name
LOGGEN028Logging method parameter's type has a hidden property
LOGGEN029A logging method parameter causes name conflicts
LOGGEN030Logging method doesn't log anything
LOGGEN031A logging message template starts with "@"
LOGGEN032Can only have one of [LogProperties], [TagProvider], and [LogPropertyIgnore]
LOGGEN033Method parameter can't be used with a tag provider
LOGGEN034Attribute can't be used in this context
LOGGEN035The logging method parameter leaks sensitive data
LOGGEN036A value being logged doesn't have an effective way to be converted into a string
LOGGEN037Logging method contains malformed format strings
LOGGEN038Primary constructor parameter of type Microsoft.Extensions.Logging.ILogger is hidden by a field

Metrics

Diagnostic IDDescription
METGEN000Metric method names can't start with an underscore
METGEN001Metric method parameter names can't start with an underscore
METGEN002Metric names must start with an uppercase alphabetic character
METGEN003Multiple metric methods can't use the same metric name
METGEN004Metric methods mustn't use any existing type as the return type
METGEN005The first parameter should be of type System.Diagnostics.Metrics.Meter
METGEN006Metric methods must be partial
METGEN007Metric methods can't be generic
METGEN008Metric methods can't have a body
METGEN009Tag names should contain alphanumeric characters and only allowed symbols
METGEN010Metric methods must be static
METGEN011A strong type object contains duplicate tag names
METGEN012A metric class contains an invalid tag name type
METGEN013A metric class contains too many tag names
METGEN014A metering attribute type argument is invalid
METGEN015Metric methods mustn't use any external type as the return type
METGEN016Metric methods mustn't use any generic type as the return type
METGEN017Gauge is not supported yet
METGEN018Xml comment was not parsed correctly
METGEN019A metric class has cycles in its type hierarchy

AuditReports

Diagnostic IDDescription
AUDREPGEN000MetricsReports generator couldn't resolve output path for the report
AUDREPGEN001ComplianceReports generator couldn't resolve output path for the report