Trellis.Analyzers
3.0.0-alpha.574
See the version list below for details.
dotnet add package Trellis.Analyzers --version 3.0.0-alpha.574
NuGet\Install-Package Trellis.Analyzers -Version 3.0.0-alpha.574
<PackageReference Include="Trellis.Analyzers" Version="3.0.0-alpha.574" />
<PackageVersion Include="Trellis.Analyzers" Version="3.0.0-alpha.574" />
<PackageReference Include="Trellis.Analyzers" />
paket add Trellis.Analyzers --version 3.0.0-alpha.574
#r "nuget: Trellis.Analyzers, 3.0.0-alpha.574"
#:package Trellis.Analyzers@3.0.0-alpha.574
#addin nuget:?package=Trellis.Analyzers&version=3.0.0-alpha.574&prerelease
#tool nuget:?package=Trellis.Analyzers&version=3.0.0-alpha.574&prerelease
Trellis.Analyzers
Roslyn analyzers that keep Trellis usage safe, idiomatic, and review-friendly.
Requirements
Requires the .NET SDK 10.0.300 or later (Roslyn 5.6+). The analyzers are compiled against Roslyn 5.6; on an older host the compiler reports CS9057 and skips them, so the TRLS diagnostics stop firing.
Installation
The analyzers are opt-in and ship separately — installing Trellis.Core does not include them.
dotnet add package Trellis.Analyzers
Prevent the package from flowing transitively to consumers of your library (analyzers are a build-time-only concern):
<PackageReference Include="Trellis.Analyzers" Version="...">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
Tune any rule's severity per project via .editorconfig, e.g. dotnet_diagnostic.TRLS001.severity = error.
Quick Example
using Trellis;
Result<int> Parse(string text) => Result.Ok(text.Length);
// TRLS002 recommends Bind instead of Map when the lambda returns Result<T>.
var result = Parse("abc")
.Bind(length => Result.Ok(length + 1));
Key Features
- Flags unsafe
Maybe.Valueaccess as an error (TRLS003). - Catches async misuse, double-wrapped results, and common ROP anti-patterns (TRLS001/004/005/007/009/010).
- Catches unsafe
Result<T>deconstruction reads,default(Result/Maybe)literals, and[OwnedEntity]init-only properties (TRLS018, TRLS019, TRLS022). - Flags composite value objects exposed through request/response DTOs without
CompositeValueObjectJsonConverter<T>(TRLS020). - Flags redundant EF Core
HasConversion,OwnsOne, andIgnoremappings for Trellis convention-owned properties (TRLS021). - Warns when a fresh GUID-derived value reaches an error/violation reason code or FluentValidation
WithErrorCode, while allowing incident/resource IDs and other dynamic application codes (TRLS067). - Includes fixes for Trellis-specific issues such as
SaveChangesAsyncvs.SaveChangesResultAsync. - See the API reference for the full diagnostic list, including TRLS067 and the bundled generator diagnostics.
Documentation
Part of Trellis
This package is part of the Trellis framework.
Learn more about Target Frameworks and .NET Standard.
-
.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.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.0-alpha.582 | 0 | 10/19/2026 |
| 3.0.0-alpha.574 | 76 | 10/14/2026 |
| 3.0.0-alpha.571 | 60 | 10/13/2026 |
| 3.0.0-alpha.557 | 141 | 10/8/2026 |
| 3.0.0-alpha.554 | 85 | 10/8/2026 |
| 3.0.0-alpha.553 | 52 | 10/7/2026 |
| 3.0.0-alpha.542 | 107 | 10/5/2026 |
| 3.0.0-alpha.539 | 66 | 10/4/2026 |
| 3.0.0-alpha.532 | 109 | 10/2/2026 |
| 3.0.0-alpha.527 | 78 | 10/1/2026 |
| 3.0.0-alpha.526 | 62 | 9/30/2026 |
| 3.0.0-alpha.524 | 62 | 9/27/2026 |
| 3.0.0-alpha.520 | 78 | 9/25/2026 |
| 3.0.0-alpha.516 | 232 | 9/22/2026 |
| 3.0.0-alpha.513 | 66 | 9/22/2026 |
| 3.0.0-alpha.505 | 191 | 9/13/2026 |
| 3.0.0-alpha.495 | 241 | 8/24/2026 |
| 3.0.0-alpha.458 | 175 | 8/19/2026 |
| 3.0.0-alpha.455 | 152 | 8/19/2026 |
| 3.0.0-alpha.449 | 77 | 8/18/2026 |