DTOMaker.Core
0.23.4
See the version list below for details.
dotnet add package DTOMaker.Core --version 0.23.4
NuGet\Install-Package DTOMaker.Core -Version 0.23.4
<PackageReference Include="DTOMaker.Core" Version="0.23.4" />
<PackageVersion Include="DTOMaker.Core" Version="0.23.4" />
<PackageReference Include="DTOMaker.Core" />
paket add DTOMaker.Core --version 0.23.4
#r "nuget: DTOMaker.Core, 0.23.4"
#:package DTOMaker.Core@0.23.4
#addin nuget:?package=DTOMaker.Core&version=0.23.4
#tool nuget:?package=DTOMaker.Core&version=0.23.4
DTOMaker.Core
todo badges go here
Warning: This is pre-release software under active development. Not for production use. Do not use if you can't tolerate breaking changes occasionally.
This package contains attributes for defining simple data models as interfaces, and also includes types used at compile-time, and by generated code at runtime.
Features implemented:
- Data types: Boolean, S/Byte, U/Int16/32/64/128, Double, Single, Half, Char, Guid, Decimal
- IFreezable support
- templates as code, template processing
- enumeration data types
In progress:
- member deprecation/reservation
Coming next:
- nullable types
- fixed length arrays
- UTF8 and UTF16 string support
- other model entities
- member wire names and tags
Coming later:
- records
- Google Protobuf .proto generation
- polymorphic types
- generic patterns: lists, trees, unions, etc.
- variable length arrays
- logical value equality
These models are consumed by the following source generators to emit DTO classes that implement the model interfaces.
DTOMaker.MemBlocks
Generates DTOs whose internal data is a single memory block (Memory<byte>). Property getters and setters decode and encode values directly to the block with explicit byte ordering (little-endian or big-endian). This source generator can be found at: https://github.com/Psiman62/DTOMaker-MemBlocks
DTOMaker.MessagePack
Generates DTOs decorated with MessagePack attributes (https://github.com/MessagePack-CSharp/MessagePack-CSharp). This source generator can be found at: https://github.com/Psiman62/DTOMaker.MessagePack
DTOMaker.JsonNewtonSoft (coming soon)
Benchmarks
Some benchmarking comparing the serialization and deserialization performance of various generated DTOs can be found at: https://github.com/Psiman62/DTOMaker-Samples
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. 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 is compatible. 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 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 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
- Microsoft.Bcl.HashCode (>= 1.1.1)
- Microsoft.CodeAnalysis (>= 4.11.0)
- System.Memory (>= 4.5.5)
-
net6.0
- Microsoft.Bcl.HashCode (>= 1.1.1)
- Microsoft.CodeAnalysis (>= 4.11.0)
- System.Memory (>= 4.5.5)
-
net7.0
- Microsoft.Bcl.HashCode (>= 1.1.1)
- Microsoft.CodeAnalysis (>= 4.11.0)
- System.Memory (>= 4.5.5)
-
net8.0
- Microsoft.Bcl.HashCode (>= 1.1.1)
- Microsoft.CodeAnalysis (>= 4.11.0)
- System.Memory (>= 4.5.5)
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.55.34-dev | 202 | 1/22/2025 |
0.55.32-dev | 98 | 1/22/2025 |
0.55.31-dev | 111 | 1/21/2025 |
0.55.30-dev | 107 | 1/21/2025 |
0.55.29-dev | 101 | 1/20/2025 |
0.55.27-dev | 111 | 1/20/2025 |
0.55.25-dev | 129 | 1/20/2025 |
0.55.24-dev | 200 | 1/20/2025 |
0.55.23-dev | 117 | 1/19/2025 |
0.55.20-dev | 100 | 1/19/2025 |
0.55.17-dev | 102 | 1/19/2025 |
0.55.14-dev | 189 | 1/19/2025 |
0.55.3-dev | 100 | 1/9/2025 |
0.55.2-dev | 82 | 1/9/2025 |
0.54.2 | 143 | 1/3/2025 |
0.54.1-dev | 128 | 1/3/2025 |
0.53.3 | 149 | 1/1/2025 |
0.53.2 | 137 | 12/31/2024 |
0.53.1-dev | 104 | 12/31/2024 |
0.51.2 | 124 | 12/31/2024 |
0.51.1 | 114 | 12/31/2024 |
0.50.3 | 126 | 12/31/2024 |
0.50.2-dev | 109 | 12/31/2024 |
0.50.1-dev | 103 | 12/31/2024 |
0.49.7 | 120 | 12/31/2024 |
0.49.6 | 124 | 12/29/2024 |
0.49.5-dev | 106 | 12/29/2024 |
0.49.4-dev | 105 | 12/29/2024 |
0.48.5 | 120 | 12/29/2024 |
0.48.4-dev | 109 | 12/28/2024 |
0.48.3-dev | 103 | 12/28/2024 |
0.48.2-dev | 97 | 12/28/2024 |
0.48.1-dev | 108 | 12/28/2024 |
0.47.1 | 125 | 12/27/2024 |
0.46.9 | 113 | 12/27/2024 |
0.46.8 | 117 | 12/27/2024 |
0.46.7 | 130 | 12/27/2024 |
0.46.6 | 124 | 12/23/2024 |
0.46.5 | 120 | 12/23/2024 |
0.46.4 | 116 | 12/22/2024 |
0.46.3 | 111 | 12/22/2024 |
0.46.2-dev | 94 | 12/22/2024 |
0.46.1-dev | 101 | 12/22/2024 |
0.45.4 | 111 | 12/21/2024 |
0.45.3-dev | 103 | 12/20/2024 |
0.45.2-dev | 109 | 12/20/2024 |
0.44.4 | 112 | 12/19/2024 |
0.44.3 | 117 | 12/19/2024 |
0.44.2 | 125 | 12/19/2024 |
0.44.1 | 113 | 12/19/2024 |
0.43.5 | 112 | 12/19/2024 |
0.43.4 | 115 | 12/19/2024 |
0.43.3 | 112 | 12/19/2024 |
0.43.2-dev | 104 | 12/19/2024 |
0.43.1-dev | 123 | 12/18/2024 |
0.42.2 | 134 | 12/18/2024 |
0.42.1-dev | 108 | 12/18/2024 |
0.41.6 | 117 | 12/18/2024 |
0.41.5-dev | 106 | 12/18/2024 |
0.40.16 | 116 | 12/17/2024 |
0.40.14 | 108 | 12/16/2024 |
0.40.12-dev | 104 | 12/16/2024 |
0.40.3-dev | 104 | 12/3/2024 |
0.40.1-dev | 99 | 12/3/2024 |
0.39.2 | 116 | 12/3/2024 |
0.39.1-dev | 103 | 12/2/2024 |
0.38.4 | 117 | 11/30/2024 |
0.38.3-dev | 95 | 11/30/2024 |
0.38.2-dev | 103 | 11/30/2024 |
0.38.1-dev | 94 | 11/25/2024 |
0.37.3 | 125 | 11/24/2024 |
0.37.2 | 123 | 11/23/2024 |
0.37.1 | 124 | 11/23/2024 |
0.36.6 | 220 | 11/23/2024 |
0.36.5 | 255 | 11/22/2024 |
0.36.4 | 225 | 11/22/2024 |
0.36.2 | 119 | 11/20/2024 |
0.34.1 | 120 | 11/17/2024 |
0.33.1 | 121 | 11/17/2024 |
0.32.2 | 125 | 11/16/2024 |
0.31.1 | 127 | 11/16/2024 |
0.30.5 | 119 | 11/16/2024 |
0.30.2 | 132 | 11/15/2024 |
0.30.1 | 134 | 11/13/2024 |
0.29.14 | 121 | 11/13/2024 |
0.29.12 | 116 | 11/13/2024 |
0.29.11 | 162 | 11/13/2024 |
0.29.9 | 161 | 11/13/2024 |
0.29.8 | 170 | 11/13/2024 |
0.29.7 | 169 | 11/12/2024 |
0.29.6 | 164 | 11/12/2024 |
0.29.5 | 171 | 11/12/2024 |
0.29.4-dev | 132 | 11/12/2024 |
0.29.3-dev | 132 | 11/12/2024 |
0.29.1-dev | 104 | 11/11/2024 |
0.28.1 | 158 | 11/11/2024 |
0.27.4 | 144 | 11/11/2024 |
0.27.3 | 137 | 11/10/2024 |
0.27.2 | 127 | 11/9/2024 |
0.26.11 | 134 | 11/9/2024 |
0.26.10-dev | 100 | 11/6/2024 |
0.26.9-dev | 99 | 11/5/2024 |
0.26.7-dev | 105 | 11/4/2024 |
0.26.3-dev | 84 | 10/22/2024 |
0.26.2-dev | 120 | 10/20/2024 |
0.25.5 | 148 | 10/20/2024 |
0.25.4-dev | 127 | 10/20/2024 |
0.25.3-dev | 123 | 10/20/2024 |
0.25.2-dev | 140 | 10/19/2024 |
0.25.1-dev | 147 | 10/19/2024 |
0.24.8 | 164 | 10/19/2024 |
0.24.7 | 165 | 10/19/2024 |
0.24.6 | 153 | 10/19/2024 |
0.24.5-beta | 135 | 10/19/2024 |
0.24.4-beta | 150 | 10/18/2024 |
0.24.3-beta | 150 | 10/18/2024 |
0.24.2-beta | 165 | 10/18/2024 |
0.24.1-beta | 144 | 10/18/2024 |
0.23.5 | 174 | 10/18/2024 |
0.23.4 | 159 | 10/18/2024 |
0.23.3 | 189 | 10/18/2024 |
0.23.2-beta-gcd1d98d29f | 150 | 10/18/2024 |
0.23.2-beta | 147 | 10/18/2024 |
0.22.8 | 168 | 10/18/2024 |
0.22.7 | 166 | 10/18/2024 |
0.22.6-beta | 100 | 10/17/2024 |
0.22.1-beta | 110 | 10/16/2024 |
0.21.3 | 134 | 10/10/2024 |
0.21.2-beta | 109 | 10/10/2024 |
0.20.4 | 132 | 10/8/2024 |
0.20.3-beta | 98 | 10/7/2024 |
0.20.1-beta | 102 | 10/7/2024 |
0.19.4 | 130 | 10/7/2024 |
0.19.3 | 159 | 10/6/2024 |
0.19.1 | 151 | 10/6/2024 |
0.18.1 | 160 | 10/6/2024 |
0.17.1 | 135 | 10/5/2024 |
0.16.2 | 123 | 10/5/2024 |
0.16.1 | 130 | 10/5/2024 |
0.15.1 | 132 | 10/5/2024 |
0.14.2 | 137 | 10/5/2024 |
0.13.1 | 129 | 10/4/2024 |
0.12.2 | 138 | 10/4/2024 |
0.11.13 | 147 | 10/4/2024 |
0.11.7 | 131 | 10/3/2024 |
0.11.5-beta | 101 | 10/3/2024 |
0.11.2-beta | 104 | 10/2/2024 |
0.11.1-beta | 113 | 10/2/2024 |
0.10.3 | 143 | 10/2/2024 |
0.10.2-beta | 109 | 10/2/2024 |
0.10.1-beta | 103 | 10/2/2024 |
0.9.5 | 150 | 10/2/2024 |
0.9.4-beta | 121 | 10/2/2024 |
0.9.3-beta | 105 | 10/2/2024 |
0.9.2-beta | 103 | 10/2/2024 |
0.9.1 | 151 | 10/1/2024 |
0.8.3 | 134 | 10/1/2024 |
0.8.2-beta | 104 | 10/1/2024 |
0.8.1-beta | 104 | 10/1/2024 |
0.7.6 | 131 | 9/30/2024 |
0.7.5 | 133 | 9/28/2024 |
0.7.3-alpha | 104 | 9/28/2024 |
0.7.2-alpha | 106 | 9/28/2024 |
0.7.1-alpha | 102 | 9/28/2024 |
0.6.2-beta | 124 | 9/26/2024 |
0.5.2-beta | 113 | 9/25/2024 |
0.5.1-beta | 103 | 9/25/2024 |
0.4.1-beta | 95 | 9/25/2024 |
0.3.2-beta | 137 | 9/22/2024 |
0.3.1-beta | 116 | 9/22/2024 |
0.2.2-beta | 120 | 9/21/2024 |
0.2.1-beta | 111 | 9/21/2024 |
0.1.15-alpha | 111 | 9/21/2024 |
0.1.13-alpha | 129 | 9/21/2024 |
0.1.12-alpha | 111 | 9/21/2024 |
0.1.11-alpha | 103 | 9/21/2024 |
0.1.9-alpha | 104 | 9/21/2024 |