Qyl.Api.Sdk 7.1.0

<Sdk Name="Qyl.Api.Sdk" Version="7.1.0" />
                    
For projects that support Sdk, copy this XML node into the project file to reference the package.
#:sdk Qyl.Api.Sdk@7.1.0
                    
#:sdk 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.

Qyl.Api.Sdk

An MSBuild SDK for a NativeAOT ASP.NET Core API that is validated, documented and instrumented from the first line. It carries the Native AOT template, compile-time validation, problem details, the committed OpenAPI document, [GenerateXml] XML output, and qyl telemetry, behind one call.

It is an SDK, not a package reference:

<Project Sdk="Qyl.Api.Sdk/<version>">
  <PropertyGroup>
    <TargetFramework>net10.0</TargetFramework>
  </PropertyGroup>
</Project>
var builder = WebApplication.CreateSlimBuilder(args);

builder.AddQylApi(AppJsonSerializerContext.Default);
builder.Services.AddSingleton<TodoStore>();

var app = builder.Build();
app.MapTodos();
app.Run();

AddQylApi extends IHostApplicationBuilder. In a fixed order it registers the JSON serializer contexts, the problem-details context, validation, the v1 OpenAPI document, and last AddQyl(), which wires automatic instrumentation, ASP.NET Core spans and OTLP export. Reflection is off under NativeAOT, so the serializer context is a parameter rather than a setting. Overrides go through the framework's own options, Configure<ValidationOptions> and Configure<OpenApiOptions>("v1", …), after the call.

What the build does

  • The OpenAPI document is written at build time and committed. On the very first build of a new project the document is written and the build fails with QYLSDK0001 asking for a commit; the second build succeeds, and from then on a gate fails if the served and committed documents ever differ.
  • Every span the API emits carries the revision of the contract it was built from, on the resource. A baggage: session.id=<id> request header becomes session.id on the server span and every descendant in the process.
  • [GenerateXml] generates an XmlWriter implementation for a type, with no XmlSerializer and no runtime reflection, and QylResults.Xml(todo) puts the XML shape into the contract.

More

Product Compatible and additional computed target framework versions.
.NET 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.

This package has 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
7.1.0 75 9/17/2026
7.0.0 66 9/17/2026
6.0.0 109 9/12/2026
5.1.0 111 9/11/2026
5.0.2 128 9/11/2026
5.0.1 172 9/11/2026
5.0.0 115 9/7/2026
4.0.0 103 9/7/2026