Daml.Codegen.Testing.Conformance 0.5.0-preview.3

Prefix Reserved
This is a prerelease version of Daml.Codegen.Testing.Conformance.
dotnet add package Daml.Codegen.Testing.Conformance --version 0.5.0-preview.3
                    
NuGet\Install-Package Daml.Codegen.Testing.Conformance -Version 0.5.0-preview.3
                    
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="Daml.Codegen.Testing.Conformance" Version="0.5.0-preview.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Daml.Codegen.Testing.Conformance" Version="0.5.0-preview.3" />
                    
Directory.Packages.props
<PackageReference Include="Daml.Codegen.Testing.Conformance" />
                    
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 Daml.Codegen.Testing.Conformance --version 0.5.0-preview.3
                    
#r "nuget: Daml.Codegen.Testing.Conformance, 0.5.0-preview.3"
                    
#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 Daml.Codegen.Testing.Conformance@0.5.0-preview.3
                    
#: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=Daml.Codegen.Testing.Conformance&version=0.5.0-preview.3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Daml.Codegen.Testing.Conformance&version=0.5.0-preview.3&prerelease
                    
Install as a Cake Tool

Daml.Codegen.Testing.Conformance

Compiled C# generated by daml-codegen-csharp from the conformance corpora, plus each corpus DAR embedded as a resource. Consumers (typically ledger-client integration test suites) round-trip these types against a real Canton participant to prove codegen output works end-to-end. Not for production use.

ConformanceCorpus.OpenDar() returns the embedded rich-types DAR to upload to a participant; ConformanceCorpus.OpenDar(ConformancePackage.ContractKeys) returns the contract-key one, and ConformanceCorpus.OpenDar(ConformancePackage.DefaultTarget) the one built with no Daml-LF target requested.

Generated types are emitted one namespace per Daml module, all under Daml.Codegen.Testing.Conformance: RichTypes for the first corpus, ContractKeys and KeyBuilders for the second, DefaultTarget for the third. RichTypes was spelled Richtypes before 0.5.0-preview.2, and the rename is case-only, which Roslyn does not forgive — a consumer holding using Daml.Codegen.Testing.Conformance.Richtypes; stops compiling until the spelling is corrected, as does a <Compile Include … Link="Generated\Richtypes\…"> path, the directory having been renamed with the namespace.

RichRecord carries the primitive, collection and nominal shapes. TypeCorners carries the harder ones: parameterized records and variants (Box, Slot), GenMap keyed by Party and by Int, Either, Tuple2/Tuple3, a recursive record (Branch), an Optional nested directly inside an Optional (maybeMaybeNote, held as Optional<Optional<string>>) and one separated from its outer Optional by an intervening record (nestedNote), an Optional over a record's own type variable (Crate), held as Optional<TA> because C# nullable syntax cannot spell that position, an Optional carried by an Either arm (noteOrRank, held as Either<Optional<string>, long> for the same reason), and the Numeric scale extremes 0 and 37 — the last of which the generated code exposes as decimal, so values needing more than 28 fractional digits are not representable. The Holding interface carries choices as well as a view. Keyed templates live in the second corpus, ContractKeys, which is built at Daml-LF 2.3 because no earlier version can express a contract key: Account keys on a record of two payload fields, Holiday on a record whose field comes from a nested projection, Schedule on a record built by a helper in a second module, KeyBuilders — so its ScheduleKey, and the ScheduleView beside it, are emitted under Daml.Codegen.Testing.Conformance.KeyBuilders and need a using of their own alongside the one for ContractKeys — and Steward on a bare Party. Each generated active contract carries a Key slot read off the created event, and each choice has a <Choice>ByKeyCommand builder beside its <Choice>Command one.

A third corpus, DefaultTarget, carries a single template (Note) compiled with no Daml-LF target requested, so it ships the version damlc picks for a project that asks for none — the version a scaffolded project actually produces. Its generated types are compiled and shipped like the other two, so that version is covered on the code-generation path and not only on the reading one.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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. 
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.5.0-preview.3 43 9/18/2026
0.5.0-preview.2 116 9/9/2026
0.5.0-preview.1 76 9/2/2026
0.4.1-preview.1 79 7/25/2026
0.4.0-preview.3 70 7/19/2026
0.4.0-preview.2 65 7/18/2026
0.4.0-preview.1 65 7/17/2026
0.3.0-preview.1 67 7/4/2026
0.2.0-preview.3 69 7/3/2026
0.2.0-preview.2 72 7/2/2026
0.1.8-preview.5 79 6/24/2026
0.1.8-preview.4 69 6/23/2026
0.1.8-preview.2 74 6/12/2026
0.1.8-preview.1 79 6/11/2026