Trellis.Analyzers 3.0.0-alpha.520

This is a prerelease version of Trellis.Analyzers.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Trellis.Analyzers --version 3.0.0-alpha.520
                    
NuGet\Install-Package Trellis.Analyzers -Version 3.0.0-alpha.520
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Trellis.Analyzers" Version="3.0.0-alpha.520" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Trellis.Analyzers" Version="3.0.0-alpha.520" />
                    
Directory.Packages.props
<PackageReference Include="Trellis.Analyzers" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Trellis.Analyzers --version 3.0.0-alpha.520
                    
#r "nuget: Trellis.Analyzers, 3.0.0-alpha.520"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Trellis.Analyzers@3.0.0-alpha.520
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Trellis.Analyzers&version=3.0.0-alpha.520&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Trellis.Analyzers&version=3.0.0-alpha.520&prerelease
                    
Install as a Cake Tool

Trellis.Analyzers

NuGet Package

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.Value access 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, and Ignore mappings for Trellis convention-owned properties (TRLS021).
  • Includes fixes for Trellis-specific issues such as SaveChangesAsync vs. 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.

There are no supported framework assets in this package.

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.557 116 10/8/2026
3.0.0-alpha.554 75 10/8/2026
3.0.0-alpha.553 41 10/7/2026
3.0.0-alpha.542 103 10/5/2026
3.0.0-alpha.539 61 10/4/2026
3.0.0-alpha.532 105 10/2/2026
3.0.0-alpha.527 75 10/1/2026
3.0.0-alpha.526 58 9/30/2026
3.0.0-alpha.524 60 9/27/2026
3.0.0-alpha.520 77 9/25/2026
3.0.0-alpha.516 222 9/22/2026
3.0.0-alpha.513 66 9/22/2026
3.0.0-alpha.505 189 9/13/2026
3.0.0-alpha.495 239 8/24/2026
3.0.0-alpha.458 174 8/19/2026
3.0.0-alpha.455 151 8/19/2026
3.0.0-alpha.449 74 8/18/2026
3.0.0-alpha.447 76 8/18/2026
3.0.0-alpha.432 108 7/6/2026
3.0.0-alpha.428 95 7/3/2026
Loading failed