Trellis.Analyzers 3.0.0-alpha.397

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.397
                    
NuGet\Install-Package Trellis.Analyzers -Version 3.0.0-alpha.397
                    
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.397" />
                    
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.397" />
                    
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.397
                    
#r "nuget: Trellis.Analyzers, 3.0.0-alpha.397"
                    
#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.397
                    
#: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.397&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Trellis.Analyzers&version=3.0.0-alpha.397&prerelease
                    
Install as a Cake Tool

Trellis.Analyzers

NuGet Package

Roslyn analyzers that keep Trellis usage safe, idiomatic, and review-friendly.

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.527 56 10/1/2026
3.0.0-alpha.526 35 9/30/2026
3.0.0-alpha.524 52 9/27/2026
3.0.0-alpha.520 69 9/25/2026
3.0.0-alpha.516 167 9/22/2026
3.0.0-alpha.513 58 9/22/2026
3.0.0-alpha.505 184 9/13/2026
3.0.0-alpha.495 234 8/24/2026
3.0.0-alpha.458 164 8/19/2026
3.0.0-alpha.455 112 8/19/2026
3.0.0-alpha.449 66 8/18/2026
3.0.0-alpha.447 67 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 110 6/27/2026
3.0.0-alpha.419 77 6/24/2026
3.0.0-alpha.418 151 6/23/2026
3.0.0-alpha.417 75 6/23/2026
3.0.0-alpha.397 89 6/18/2026
3.0.0-alpha.396 74 6/18/2026
Loading failed