Universal.CodeGeneration.CSharp
1.6.1
dotnet add package Universal.CodeGeneration.CSharp --version 1.6.1
NuGet\Install-Package Universal.CodeGeneration.CSharp -Version 1.6.1
<PackageReference Include="Universal.CodeGeneration.CSharp" Version="1.6.1" />
<PackageVersion Include="Universal.CodeGeneration.CSharp" Version="1.6.1" />
<PackageReference Include="Universal.CodeGeneration.CSharp" />
paket add Universal.CodeGeneration.CSharp --version 1.6.1
#r "nuget: Universal.CodeGeneration.CSharp, 1.6.1"
#:package Universal.CodeGeneration.CSharp@1.6.1
#addin nuget:?package=Universal.CodeGeneration.CSharp&version=1.6.1
#tool nuget:?package=Universal.CodeGeneration.CSharp&version=1.6.1
Universal.CodeGeneration.CSharp
Generates strongly typed C# HTTP clients, models, and URI builders from OpenAPI documents and route definitions.
HTTP clients
Parse an OpenAPI document, select the generated language and client shape, then generate one file or a file set:
var specification = HttpServiceClientGenerator.ApiSpecification.FromOpenApi(openApiJson);
var generator = new HttpServiceClientGenerator(
"MyApi.Client",
"MyApiClient",
new HttpServiceClientGenerator.Options
{
ClientStyle = HttpServiceClientGenerator.ClientStyle.TagGroups,
LanguageVersion = HttpServiceClientGenerator.CSharpLanguageVersion.Latest,
ModelPropertyStyle = HttpServiceClientGenerator.ModelPropertyStyle.Auto,
OutputType = HttpServiceClientGenerator.OutputType.MultipleFiles,
TargetFramework = "net10.0"
});
generator.GenerateFiles(specification, "Generated", deleteStaleFiles: true);
Client styles:
HierarchicalResourcesexposes operations through the URL resource tree.FlatBuildersexposes one builder for each path.Simpleplaces operations directly on the client.TagGroupsgroups operations by their primary OpenAPI tag.
Generation options control the base client, JSON serializer, nullable annotations, DTO property style, target framework, default headers, constructor shape, namespace layout, and output layout.
Generated clients can include authentication and header helpers, transport and serialization hooks, raw request methods, response envelopes, cancellation, and partial types. Built-in client bases accept an injected HttpClient and take ownership of it, enabling handler configuration, IHttpClientFactory, automatic decompression, proxies, certificates, and test transports. Put handwritten behavior in separate partial-class files or source transforms so regeneration can replace the generated directory safely.
URI builders
UriBuilderGenerator generates flat or fluent URI builders from route definitions. UriBuilderGenerator.ApiRoutes can derive routes from OpenAPI JSON.
var routes = UriBuilderGenerator.ApiRoutes.FromOpenApiJson(openApiJson);
var generator = new UriBuilderGenerator(
"MyApi.Routes",
"ApiRoutes",
new UriBuilderGenerator.Options { UseFluentGeneration = true });
var source = generator.Generate(routes);
Initializer expressions
ToInitializerString converts supported values and object graphs to C# initializer expressions.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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 was computed. 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 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.Text.Json (>= 10.0.11)
- Universal.Common.Reflection (>= 2.1.1)
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 |
|---|---|---|
| 1.6.1 | 62 | 8/21/2026 |
| 1.6.0 | 65 | 8/21/2026 |
| 1.5.1 | 115 | 6/17/2026 |
| 1.5.0 | 105 | 6/17/2026 |
| 1.4.1 | 110 | 6/17/2026 |
| 1.4.0 | 114 | 6/17/2026 |
| 1.3.1 | 107 | 6/17/2026 |
| 1.3.0 | 133 | 6/17/2026 |
| 1.2.0 | 128 | 3/20/2026 |
| 1.1.1 | 489 | 12/9/2025 |
| 1.1.0 | 483 | 12/9/2025 |
| 1.0.0 | 406 | 12/8/2025 |
| 0.3.0 | 645 | 5/22/2021 |
| 0.2.1 | 577 | 2/1/2021 |
| 0.2.0 | 583 | 1/5/2021 |
| 0.1.0.1 | 816 | 3/21/2019 |
| 0.1.0 | 790 | 3/21/2019 |