Meziantou.Analyzer.Annotations
1.5.0
Prefix Reserved
dotnet add package Meziantou.Analyzer.Annotations --version 1.5.0
NuGet\Install-Package Meziantou.Analyzer.Annotations -Version 1.5.0
<PackageReference Include="Meziantou.Analyzer.Annotations" Version="1.5.0" />
<PackageVersion Include="Meziantou.Analyzer.Annotations" Version="1.5.0" />
<PackageReference Include="Meziantou.Analyzer.Annotations" />
paket add Meziantou.Analyzer.Annotations --version 1.5.0
#r "nuget: Meziantou.Analyzer.Annotations, 1.5.0"
#:package Meziantou.Analyzer.Annotations@1.5.0
#addin nuget:?package=Meziantou.Analyzer.Annotations&version=1.5.0
#tool nuget:?package=Meziantou.Analyzer.Annotations&version=1.5.0
Meziantou.Analyzer.Annotations
Meziantou.Analyzer.Annotations enables you to configure certain analyzer rules by adding annotations directly to your code.
Meziantou.Analyzer.Annotations is a separate dependency from Meziantou.Analyzer. If you want to use these attributes in your code, add an explicit package reference:
dotnet add package Meziantou.Analyzer.Annotations
You can also copy the attribute source files into your project as long as the namespace and type names match. The copied types can be public or internal.
By default, all usages of attributes from Meziantou.Analyzer.Annotations are removed from the compiled assembly metadata. This means your binaries will not reference the Meziantou.Analyzer.Annotations.dll assembly.
If you want to keep these attributes in the metadata (for example, for reflection or tooling purposes), define the MEZIANTOU_ANALYZER_ANNOTATIONS conditional compilation symbol in your project settings.
Available attributes
| Attribute | Purpose | Related rules |
|---|---|---|
CultureInsensitiveTypeAttribute |
Marks a type (or a specific format) as culture-insensitive. | MA0011, MA0075, MA0076, MA0185 |
NonAwaitableTypeAttribute |
Excludes await recommendations for specific types. | MA0042, MA0045, MA0134, MA0137, MA0138 |
NonAsyncDisposableTypeAttribute |
Excludes await using recommendations for specific types. |
MA0042, MA0045 |
ExcludeFromBlockingCallAnalysisAttribute |
Excludes specific methods/properties from blocking-call diagnostics. | MA0042, MA0045 |
RequireNamedArgumentAttribute |
Requires named arguments for decorated parameters. | MA0003 |
StructuredLogFieldAttribute |
Declares allowed types for named log properties in an assembly. | MA0124, MA0139 |
ExcludeFromBlockingCallAnalysisAttribute
Use ExcludeFromBlockingCallAnalysisAttribute to exclude specific MA0042/MA0045 method/property diagnostics at the assembly level.
[assembly: Meziantou.Analyzer.Annotations.ExcludeFromBlockingCallAnalysisAttribute("M:System.Threading.Tasks.Task.Wait")]
[assembly: Meziantou.Analyzer.Annotations.ExcludeFromBlockingCallAnalysisAttribute(typeof(System.Threading.Thread), "Sleep", typeof(int))]
NonAwaitableTypeAttribute
Use NonAwaitableTypeAttribute to exclude MA0042/MA0045 await recommendations for specific types at the assembly level.
The match is exact-type only. Derived types are not excluded unless explicitly listed.
[assembly: Meziantou.Analyzer.Annotations.NonAwaitableTypeAttribute(typeof(System.Data.Common.DbCommand))]
NonAsyncDisposableTypeAttribute
Use NonAsyncDisposableTypeAttribute to exclude MA0042/MA0045 await using recommendations for specific types at the assembly level.
The match is exact-type only. Derived types are not excluded unless explicitly listed.
[assembly: Meziantou.Analyzer.Annotations.NonAsyncDisposableTypeAttribute(typeof(System.Data.Common.DbCommand))]
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.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.