AvroSharp.CodeGen
0.1.1
dotnet add package AvroSharp.CodeGen --version 0.1.1
NuGet\Install-Package AvroSharp.CodeGen -Version 0.1.1
<PackageReference Include="AvroSharp.CodeGen" Version="0.1.1" />
<PackageVersion Include="AvroSharp.CodeGen" Version="0.1.1" />
<PackageReference Include="AvroSharp.CodeGen" />
paket add AvroSharp.CodeGen --version 0.1.1
#r "nuget: AvroSharp.CodeGen, 0.1.1"
#:package AvroSharp.CodeGen@0.1.1
#addin nuget:?package=AvroSharp.CodeGen&version=0.1.1
#tool nuget:?package=AvroSharp.CodeGen&version=0.1.1
AvroSharp.CodeGen
The C# code generation engine behind AvroSharp's source generator. It turns parsed Avro schemas into C# source: records, enums and fixed types with serializers that call AvroWriter/AvroReader directly, with no reflection.
Status: early development, not yet released. Most projects should reference
AvroSharp.Generatorsinstead, which runs this engine inside the compiler. Use this package to generate code from your own tools.
Usage
using AvroSharp.CodeGen;
using AvroSharp.Schemas;
var schemas = new[] { AvroSchema.Parse(File.ReadAllText("order.avsc")) };
var options = new CodeGenOptions { DefaultNamespace = "Shop", PropertyNaming = PropertyNaming.PascalCase };
foreach (var source in CSharpCodeGenerator.Generate(schemas, options))
{
File.WriteAllText(Path.Combine("Generated", source.HintName), source.Text);
}
CodeGenOptions also selects how logical types are mapped (LogicalTypes), the Apache.Avro compatibility mode (ApacheCompatible), and whether the target framework has DateOnly/TimeOnly (TargetHasDateOnly) and supports nullable annotations (NullableAnnotations).
The generated code needs the AvroSharp package at runtime. This package's public API will be reviewed before 1.0 (#73).
| 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
- AvroSharp (>= 0.1.1)
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.12)
- System.Memory (>= 4.6.3)
- System.Text.Json (>= 10.0.12)
- System.Threading.Channels (>= 10.0.12)
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.1.1 | 36 | 9/28/2026 |