ConcordIO.AsyncApi 0.8.7

dotnet add package ConcordIO.AsyncApi --version 0.8.7
                    
NuGet\Install-Package ConcordIO.AsyncApi -Version 0.8.7
                    
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="ConcordIO.AsyncApi" Version="0.8.7" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ConcordIO.AsyncApi" Version="0.8.7" />
                    
Directory.Packages.props
<PackageReference Include="ConcordIO.AsyncApi" />
                    
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 ConcordIO.AsyncApi --version 0.8.7
                    
#r "nuget: ConcordIO.AsyncApi, 0.8.7"
                    
#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 ConcordIO.AsyncApi@0.8.7
                    
#: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=ConcordIO.AsyncApi&version=0.8.7
                    
Install as a Cake Addin
#tool nuget:?package=ConcordIO.AsyncApi&version=0.8.7
                    
Install as a Cake Tool

ConcordIO.AsyncApi

A shared .NET library for AsyncAPI document generation (server) and C# contract code generation (client). Provides the core types, services, and abstractions used by ConcordIO.AsyncApi.Server and ConcordIO.AsyncApi.Client.

This README is included as the NuGet package readme.

Note: This library is not consumed directly by end users. It is referenced internally by the Server and Client MSBuild task packages.

Features

Scope: The generated AsyncAPI documents serve as a contract catalog — they describe message schemas and .NET type metadata, but do not include broker configuration (queue names, exchange bindings, server connections). Channel addresses use MassTransit URN format, not actual broker endpoints. Broker topology is determined at runtime by MassTransit.

  • Server-side: Generate AsyncAPI 3.x documents from .NET types (MassTransit message contracts)
  • Client-side: Generate C# contract types from AsyncAPI specifications
  • Type discovery: Pattern-based discovery of event and command types from assemblies
  • External type resolution: Detect types already defined in referenced assemblies to avoid duplicate generation
  • Cross-namespace support: Preserve .NET namespaces via x-dotnet-namespace / x-dotnet-type extensions
  • Definition enum support: Generates enum types declared inside schema definitions blocks (for example #/definitions/MyEnum)

Key Types

Shared Constants

Type Description
AsyncApiConstants Static constants for AsyncAPI extension keys (DotNetNamespace, DotNetType). Used across Server and Client components.

Server (ConcordIO.AsyncApi.Server namespace)

Type Description
AsyncApiDocumentGenerator Generates AsyncAPI 3.x documents from discovered .NET types. Uses NJsonSchema for JSON Schema generation.
AsyncApiDocumentWriter Writes AsyncAPI documents to YAML or JSON files.
TypeDiscoveryService Discovers types from assemblies using pattern matching (wildcards, interfaces, base classes).
DiscoveredType Record representing a discovered type with its MessageKind.
MessageTypePattern Record representing a type discovery pattern with its kind.
MessageKind Enum: Event or Command.

Client (ConcordIO.AsyncApi.Client namespace)

Type Description
AsyncApiContractGenerator Generates C# contract types from AsyncAPI documents using NJsonSchema code generation.
ExternalTypeResolver Resolves types from external assemblies to skip generation of already-defined types.
ContractGeneratorSettings Configurable settings for code generation (class style, annotations, type mappings).
TypeInfo Record representing a type to be generated or referenced.
GeneratedSourceFile Record representing a generated C# source file.
ContractGenerationResult Result of the contract generation process.
GeneratedClassStyle Enum: Poco or Record.

Dependencies

Library Purpose
Neuroglia.AsyncApi.Core AsyncAPI 3.x document model
NJsonSchema JSON Schema generation from .NET types
NJsonSchema.CodeGeneration.CSharp C# code generation from JSON Schema
Neuroglia.Serialization JSON/YAML serialization

License

Licensed under the MIT License.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
0.8.7 108 2/21/2026