MetaCode.TS3.Template.Interfaces
1.0.56
Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package MetaCode.TS3.Template.Interfaces --version 1.0.56
NuGet\Install-Package MetaCode.TS3.Template.Interfaces -Version 1.0.56
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="MetaCode.TS3.Template.Interfaces" Version="1.0.56" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MetaCode.TS3.Template.Interfaces --version 1.0.56
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: MetaCode.TS3.Template.Interfaces, 1.0.56"
#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.
// Install MetaCode.TS3.Template.Interfaces as a Cake Addin
#addin nuget:?package=MetaCode.TS3.Template.Interfaces&version=1.0.56
// Install MetaCode.TS3.Template.Interfaces as a Cake Tool
#tool nuget:?package=MetaCode.TS3.Template.Interfaces&version=1.0.56
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Overview
A dotnet tool (mcts3) for model-first template-based code generation. Features built-in generators for producing source code for a variety of data model uses.
Features
- Models can be defined in .NET assemblies or JSON.
- In-the-box templates for generating:
- targetting .NET Standard 2.0 and .NET 5.x
- ordinary mutable classes (POCOs);
- immutable classes (with builders);
- immutable classes based on C# 9.0 records;
- freezable classes;
- serializable classes for Protobuf-Net, JSON and MessagePack;
- shared interfaces for all the above.
Command-line use
TBD
- Get or create a model
- Choose a generator
- Generate!
Built-in Generators
Id | Lang. | Structure | Mutability | Serialization |
---|---|---|---|---|
Interfaces | C# | Flat | Read-only | |
JsonPoco | C# | Flat | Mutable | JSON |
Freezables | C# | Flat | Freezable | |
Immutables | C# | Flat | Immutable | |
Records | C# 9 | Flat | Immutable | |
MsgPack | C# | Flat | Mutable | MessagePack |
ProtbufNet3 | C# | Flat | Mutable | Protobuf.Net |
Contracts | C# | Poly. | Read-only | |
ClassesV2 | C# | Poly. | Freezable | |
RecordsV2 | C# 9 | Poly. | Immutable | |
MsgPackV2 | C# | Poly. | Mutable | MessagePack |
MsgPackV3 | C# | Poly. | Freezable | MessagePack |
Notes:
- Read-only = client cannot invoke change;
- Immutable = provider will never change data;
- Freezable = mutable until frozen, then immutable.
- Poly. = polymorphic i.e. supports inheritance.
Build your own generator
TBD
Under consideration
- serialization for:
- interoperable MessagePack
- MsgPack.CLI
- XSD
- Bond
- DataContract
- polymorphic JSON
- other languages;
- SQL and EF
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 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. |
.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.
-
.NETStandard 2.0
- LabApps.Types.Memory (>= 1.5.9)
-
net6.0
- LabApps.Types.Memory (>= 1.5.9)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on MetaCode.TS3.Template.Interfaces:
Package | Downloads |
---|---|
MetaCode.TS3.Template.Freezables
C# template for model generated interfaces |
|
MetaCode.TS3.Template.Records
C# latest/.NET 5.0 template for model generated immutable records. |
|
MetaCode.TS3.Template.MsgPack
C# template for model generated interfaces |
|
MetaCode.TS3.Template.ProtobufNet3
C# template for model generated interfaces |
|
MetaCode.TS3.Template.JsonPoco
C# template for model generated interfaces |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
3.1.14 | 1,841 | 3/2/2023 |
3.1.12 | 1,908 | 1/29/2023 |
3.1.7 | 1,978 | 1/28/2023 |
3.1.5 | 2,127 | 12/21/2022 |
3.1.4 | 2,282 | 11/28/2022 |
3.1.3 | 2,286 | 11/20/2022 |
3.1.2 | 2,304 | 11/19/2022 |
3.0.43 | 2,439 | 11/3/2022 |
3.0.42 | 2,439 | 11/2/2022 |
3.0.41 | 2,590 | 10/23/2022 |
3.0.40 | 2,855 | 9/18/2022 |
3.0.39 | 3,012 | 9/10/2022 |
3.0.38 | 2,761 | 8/29/2022 |
3.0.37 | 2,765 | 8/29/2022 |
3.0.36 | 2,820 | 8/29/2022 |
3.0.33 | 2,761 | 6/30/2022 |
3.0.30 | 2,793 | 6/4/2022 |
3.0.29 | 2,830 | 5/14/2022 |
3.0.26 | 2,778 | 5/6/2022 |
3.0.22 | 2,815 | 5/1/2022 |
3.0.20 | 2,814 | 4/29/2022 |
3.0.18 | 2,819 | 4/29/2022 |
3.0.14 | 2,790 | 4/29/2022 |
3.0.12 | 2,874 | 4/27/2022 |
3.0.11 | 2,833 | 4/13/2022 |
3.0.10 | 2,879 | 4/12/2022 |
3.0.9 | 2,906 | 4/11/2022 |
3.0.6 | 2,843 | 3/24/2022 |
3.0.5 | 2,848 | 3/22/2022 |
3.0.4 | 2,885 | 3/21/2022 |
1.2.1-beta | 1,244 | 3/17/2022 |
1.1.3 | 2,858 | 3/16/2022 |
1.1.2 | 2,881 | 3/13/2022 |
1.1.1 | 2,800 | 3/9/2022 |
1.0.62 | 2,860 | 2/13/2022 |
1.0.59 | 2,893 | 2/11/2022 |
1.0.56 | 2,797 | 2/11/2022 |
1.0.53 | 2,843 | 1/13/2022 |
1.0.50 | 1,956 | 12/25/2021 |
1.0.46 | 1,855 | 12/22/2021 |
1.0.44 | 1,908 | 12/22/2021 |
1.0.43 | 1,932 | 12/21/2021 |
1.0.41 | 1,902 | 12/21/2021 |
1.0.40 | 1,990 | 11/28/2021 |