Trellis.Analyzers
3.0.0-alpha.458
See the version list below for details.
dotnet add package Trellis.Analyzers --version 3.0.0-alpha.458
NuGet\Install-Package Trellis.Analyzers -Version 3.0.0-alpha.458
<PackageReference Include="Trellis.Analyzers" Version="3.0.0-alpha.458" />
<PackageVersion Include="Trellis.Analyzers" Version="3.0.0-alpha.458" />
<PackageReference Include="Trellis.Analyzers" />
paket add Trellis.Analyzers --version 3.0.0-alpha.458
#r "nuget: Trellis.Analyzers, 3.0.0-alpha.458"
#:package Trellis.Analyzers@3.0.0-alpha.458
#addin nuget:?package=Trellis.Analyzers&version=3.0.0-alpha.458&prerelease
#tool nuget:?package=Trellis.Analyzers&version=3.0.0-alpha.458&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.520 | 41 | 9/25/2026 |
| 3.0.0-alpha.516 | 147 | 9/22/2026 |
| 3.0.0-alpha.513 | 46 | 9/22/2026 |
| 3.0.0-alpha.505 | 177 | 9/13/2026 |
| 3.0.0-alpha.495 | 231 | 8/24/2026 |
| 3.0.0-alpha.458 | 160 | 8/19/2026 |
| 3.0.0-alpha.455 | 110 | 8/19/2026 |
| 3.0.0-alpha.449 | 64 | 8/18/2026 |
| 3.0.0-alpha.447 | 65 | 8/18/2026 |
| 3.0.0-alpha.432 | 103 | 7/6/2026 |
| 3.0.0-alpha.428 | 88 | 7/3/2026 |
| 3.0.0-alpha.425 | 107 | 6/27/2026 |
| 3.0.0-alpha.419 | 75 | 6/24/2026 |
| 3.0.0-alpha.418 | 149 | 6/23/2026 |
| 3.0.0-alpha.417 | 73 | 6/23/2026 |
| 3.0.0-alpha.397 | 87 | 6/18/2026 |
| 3.0.0-alpha.396 | 72 | 6/18/2026 |
| 3.0.0-alpha.394 | 89 | 6/18/2026 |
| 3.0.0-alpha.385 | 73 | 6/15/2026 |
| 3.0.0-alpha.382 | 79 | 6/12/2026 |