DTOMaker.Core 0.23.2-beta-gcd1d98d29f

This is a prerelease version of DTOMaker.Core.
There is a newer version of this package available.
See the version list below for details.
dotnet add package DTOMaker.Core --version 0.23.2-beta-gcd1d98d29f
                    
NuGet\Install-Package DTOMaker.Core -Version 0.23.2-beta-gcd1d98d29f
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DTOMaker.Core" Version="0.23.2-beta-gcd1d98d29f" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DTOMaker.Core" Version="0.23.2-beta-gcd1d98d29f" />
                    
Directory.Packages.props
<PackageReference Include="DTOMaker.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add DTOMaker.Core --version 0.23.2-beta-gcd1d98d29f
                    
#r "nuget: DTOMaker.Core, 0.23.2-beta-gcd1d98d29f"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package DTOMaker.Core@0.23.2-beta-gcd1d98d29f
                    
#:package 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.
#addin nuget:?package=DTOMaker.Core&version=0.23.2-beta-gcd1d98d29f&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=DTOMaker.Core&version=0.23.2-beta-gcd1d98d29f&prerelease
                    
Install as a Cake Tool

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

In progress:

  • enumerations
  • 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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