Trellis.Analyzers
3.0.0-alpha.527
See the version list below for details.
dotnet add package Trellis.Analyzers --version 3.0.0-alpha.527
NuGet\Install-Package Trellis.Analyzers -Version 3.0.0-alpha.527
<PackageReference Include="Trellis.Analyzers" Version="3.0.0-alpha.527" />
<PackageVersion Include="Trellis.Analyzers" Version="3.0.0-alpha.527" />
<PackageReference Include="Trellis.Analyzers" />
paket add Trellis.Analyzers --version 3.0.0-alpha.527
#r "nuget: Trellis.Analyzers, 3.0.0-alpha.527"
#:package Trellis.Analyzers@3.0.0-alpha.527
#addin nuget:?package=Trellis.Analyzers&version=3.0.0-alpha.527&prerelease
#tool nuget:?package=Trellis.Analyzers&version=3.0.0-alpha.527&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). - Includes fixes for Trellis-specific issues such as
SaveChangesAsyncvs.SaveChangesResultAsync. - See the API reference for the full diagnostic list (TRLS001–TRLS022 + generator IDs TRLS031–TRLS039).
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.539 | 26 | 10/4/2026 |
| 3.0.0-alpha.532 | 68 | 10/2/2026 |
| 3.0.0-alpha.527 | 60 | 10/1/2026 |
| 3.0.0-alpha.526 | 40 | 9/30/2026 |
| 3.0.0-alpha.524 | 55 | 9/27/2026 |
| 3.0.0-alpha.520 | 71 | 9/25/2026 |
| 3.0.0-alpha.516 | 188 | 9/22/2026 |
| 3.0.0-alpha.513 | 60 | 9/22/2026 |
| 3.0.0-alpha.505 | 186 | 9/13/2026 |
| 3.0.0-alpha.495 | 236 | 8/24/2026 |
| 3.0.0-alpha.458 | 166 | 8/19/2026 |
| 3.0.0-alpha.455 | 113 | 8/19/2026 |
| 3.0.0-alpha.449 | 69 | 8/18/2026 |
| 3.0.0-alpha.447 | 70 | 8/18/2026 |
| 3.0.0-alpha.432 | 105 | 7/6/2026 |
| 3.0.0-alpha.428 | 91 | 7/3/2026 |
| 3.0.0-alpha.425 | 111 | 6/27/2026 |
| 3.0.0-alpha.419 | 79 | 6/24/2026 |
| 3.0.0-alpha.418 | 152 | 6/23/2026 |
| 3.0.0-alpha.417 | 75 | 6/23/2026 |