DTOMaker.CLI
0.55.29-dev
See the version list below for details.
dotnet tool install --global DTOMaker.CLI --version 0.55.29-dev
dotnet new tool-manifest
dotnet tool install --local DTOMaker.CLI --version 0.55.29-dev
#tool dotnet:?package=DTOMaker.CLI&version=0.55.29-dev&prerelease
nuke :add-package DTOMaker.CLI --version 0.55.29-dev
DTOMaker
Types and source generators for building DTOs (Data Transport Objects) and related POCOs (Plain Old C# Objects).
todo build badge
Warning: This is pre-release software under active development. Breaking changes may occur.
DTOMaker.Models
Attributes for defining simple data models as interfaces in C#.
DTOMaker.Models.MemBlocks
Additional attributes used by the DTOMaker.MemBlocks source generator, to manage entity and member memory layout.
DTOMaker.Models.MessagePack
Additional attributes used by the DTOMaker.MessagePack source generator, to manage MessagePack entity and member keys.
DTOMaker.Core
Core types used by source generators at compile-time, including a common syntax receiver, and a powerful template processor.
Features
Features implemented:
- DTOMaker.MessagePack source generator
- DTOMaker.MemBlocks source generator
- DTOMaker.CSPoco source generator
- Member value types: Boolean, S/Byte, U/Int16/32/64/128, Double, Single, Half, Char, Guid, Decimal
- String member types:
- Required or nullable strings for CSPoco and MessagePack
- Non-nullable UTF8-encoded fixed length strings for MemBlocks
- IFreezable support
- Templates as code, template processing
- [Obsolete] members
- Fixed length arrays of above value types.
- polymorphic types
Features not implemented:
- Nullable types. T? can be implemented with a pair of fields (Boolean, T).
- Enum data types. Enums can be implemented with an underlying integer property and a cast.
In progress:
- multi-namespace models
- entity members
Coming soon:
- reservation (hidden members)
- Json (NewtonSoft) generator
- Json (System.Text) generator
- Orleans generator
- ProtobufNet 3.0 generator
- NetStrux generator
- compact layout method
Coming later:
- C# records generator
- Google Protobuf .proto generation
- model.json generation
- command-line alternative
- 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.Runtime
Common types used at runtime by DTOMaker entities.
Benchmarks
Some benchmarking comparing the serialization and deserialization performance of various generated DTOs can be found at: todo
Product | Versions 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 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. |
This package has no dependencies.
Version | Downloads | Last Updated |
---|---|---|
0.71.11 | 72 | 10/3/2025 |
0.71.9 | 272 | 9/19/2025 |
0.71.8 | 288 | 9/17/2025 |
0.71.7 | 276 | 9/16/2025 |
0.71.5 | 221 | 9/15/2025 |
0.71.3 | 225 | 9/15/2025 |
0.71.1 | 225 | 9/15/2025 |
0.70.3 | 152 | 9/9/2025 |
0.70.2 | 141 | 9/2/2025 |
0.70.1-dev | 196 | 8/27/2025 |
0.69.10 | 130 | 8/17/2025 |
0.69.9 | 82 | 8/16/2025 |
0.69.8 | 149 | 8/13/2025 |
0.69.7-dev | 140 | 8/13/2025 |
0.69.6-dev | 148 | 8/12/2025 |
0.69.4-dev | 125 | 8/9/2025 |
0.69.3-dev | 73 | 7/19/2025 |
0.69.2-dev | 74 | 7/19/2025 |
0.68.6 | 79 | 7/19/2025 |
0.68.5-dev | 82 | 7/19/2025 |
0.68.2-dev | 142 | 7/17/2025 |
0.68.1-dev | 146 | 7/17/2025 |
0.67.7 | 158 | 7/17/2025 |
0.67.6-dev | 160 | 7/9/2025 |
0.67.5-dev | 148 | 7/9/2025 |
0.67.3-dev | 158 | 7/7/2025 |
0.67.1-dev | 308 | 6/10/2025 |
0.66.18 | 257 | 6/9/2025 |
0.66.17-dev | 223 | 6/9/2025 |
0.66.16-dev | 137 | 6/8/2025 |
0.66.14-dev | 90 | 6/7/2025 |
0.66.13-dev | 152 | 6/5/2025 |
0.66.10-dev | 159 | 6/5/2025 |
0.66.9-dev | 151 | 6/5/2025 |
0.66.8-dev | 167 | 6/5/2025 |
0.66.7-dev | 138 | 6/4/2025 |
0.66.2-dev | 87 | 5/31/2025 |
0.65.20-generics-g24a665d336 | 91 | 5/31/2025 |
0.65.13-generics-ge74b19332f | 173 | 4/23/2025 |
0.65.10-generics-g6f262eb134 | 222 | 4/17/2025 |
0.65.1-generics | 92 | 5/31/2025 |
0.64.27 | 165 | 5/27/2025 |
0.64.26 | 216 | 5/16/2025 |
0.64.24 | 172 | 5/8/2025 |
0.64.22 | 192 | 4/23/2025 |
0.64.20 | 184 | 4/10/2025 |
0.64.18 | 179 | 4/10/2025 |
0.64.17 | 194 | 4/10/2025 |
0.64.16 | 181 | 4/9/2025 |
0.64.10 | 184 | 4/7/2025 |
0.64.9 | 153 | 4/4/2025 |
0.64.8-dev | 168 | 4/1/2025 |
0.64.7-dev-g53a80ba3be | 169 | 4/1/2025 |
0.64.5-dev-g449e36f771 | 482 | 3/25/2025 |
0.64.5-dev-g2fcf9bff64 | 164 | 4/1/2025 |
0.64.4-dev | 167 | 4/1/2025 |
0.64.3-dev | 164 | 3/31/2025 |
0.64.2-dev | 490 | 3/25/2025 |
0.64.1-dev | 491 | 3/25/2025 |
0.63.60-gee4d301e03 | 487 | 3/25/2025 |
0.63.19 | 125 | 3/21/2025 |
0.63.19-g2e909c64aa | 114 | 3/21/2025 |
0.63.17 | 145 | 3/14/2025 |
0.63.16 | 125 | 3/14/2025 |
0.63.15 | 169 | 3/13/2025 |
0.63.13 | 195 | 3/11/2025 |
0.63.12 | 190 | 3/11/2025 |
0.63.11-dev | 181 | 3/11/2025 |
0.63.9-dev | 181 | 3/11/2025 |
0.63.8-dev | 189 | 3/10/2025 |
0.63.7-dev | 179 | 3/10/2025 |
0.63.6-dev | 185 | 3/10/2025 |
0.63.3-dev | 165 | 3/10/2025 |
0.62.10 | 228 | 3/8/2025 |
0.62.9 | 233 | 3/8/2025 |
0.62.7 | 228 | 3/7/2025 |
0.62.6-dev | 219 | 3/7/2025 |
0.62.5-dev | 229 | 3/7/2025 |
0.61.14 | 234 | 3/6/2025 |
0.61.13-dev | 228 | 3/6/2025 |
0.61.12-dev | 213 | 3/6/2025 |
0.61.10-dev | 217 | 3/6/2025 |
0.61.9-dev | 214 | 3/5/2025 |
0.61.8-dev | 227 | 3/5/2025 |
0.61.5-dev | 228 | 3/4/2025 |
0.61.3-dev | 220 | 3/4/2025 |
0.61.2-dev | 164 | 3/3/2025 |
0.60.8 | 144 | 2/27/2025 |
0.60.7 | 122 | 2/27/2025 |
0.60.6-dev | 107 | 2/27/2025 |
0.60.3-dev | 113 | 2/25/2025 |
0.59.10 | 135 | 2/19/2025 |
0.59.8-dev | 110 | 2/19/2025 |
0.59.5-dev | 113 | 2/17/2025 |
0.59.4-dev | 116 | 2/15/2025 |
0.58.9 | 126 | 2/4/2025 |
0.58.8-dev | 107 | 2/4/2025 |
0.57.6 | 130 | 2/1/2025 |
0.57.4 | 122 | 2/1/2025 |
0.57.2-dev | 109 | 2/1/2025 |
0.57.1-dev | 110 | 2/1/2025 |
0.56.13 | 131 | 1/31/2025 |
0.56.12-dev | 115 | 1/31/2025 |
0.56.11-dev | 115 | 1/30/2025 |
0.56.10-dev | 116 | 1/30/2025 |
0.56.9-dev | 108 | 1/30/2025 |
0.56.6-dev | 106 | 1/24/2025 |
0.56.5-dev | 111 | 1/24/2025 |
0.56.4-dev | 110 | 1/24/2025 |
0.56.3-dev | 110 | 1/24/2025 |
0.55.38 | 128 | 1/23/2025 |
0.55.37-dev | 118 | 1/23/2025 |
0.55.36-dev | 110 | 1/22/2025 |
0.55.34-dev | 111 | 1/22/2025 |
0.55.32-dev | 107 | 1/22/2025 |
0.55.31-dev | 118 | 1/21/2025 |
0.55.30-dev | 99 | 1/21/2025 |
0.55.29-dev | 110 | 1/20/2025 |
0.55.27-dev | 116 | 1/20/2025 |
0.55.25-dev | 115 | 1/20/2025 |
0.55.24-dev | 100 | 1/20/2025 |
0.55.23-dev | 108 | 1/19/2025 |
0.55.20-dev | 98 | 1/19/2025 |
0.55.17-dev | 110 | 1/19/2025 |
0.55.14-dev | 112 | 1/19/2025 |