Daml.Codegen.CSharp
0.2.0-preview.2
Prefix Reserved
dotnet add package Daml.Codegen.CSharp --version 0.2.0-preview.2
NuGet\Install-Package Daml.Codegen.CSharp -Version 0.2.0-preview.2
<PackageReference Include="Daml.Codegen.CSharp" Version="0.2.0-preview.2" />
<PackageVersion Include="Daml.Codegen.CSharp" Version="0.2.0-preview.2" />
<PackageReference Include="Daml.Codegen.CSharp" />
paket add Daml.Codegen.CSharp --version 0.2.0-preview.2
#r "nuget: Daml.Codegen.CSharp, 0.2.0-preview.2"
#:package Daml.Codegen.CSharp@0.2.0-preview.2
#addin nuget:?package=Daml.Codegen.CSharp&version=0.2.0-preview.2&prerelease
#tool nuget:?package=Daml.Codegen.CSharp&version=0.2.0-preview.2&prerelease
Daml.Codegen.CSharp
C# code generator library for Daml smart contracts. Consumes an
IntermediateDar protobuf (produced by the JVM helper bundled in
dpm codegen-cs) and emits strongly-typed C# bindings for Daml templates,
data types, and interfaces.
Installation
dotnet add package Daml.Codegen.CSharp
Usage
Most users run codegen through dpm codegen-cs rather than this library
directly. Reference the library when you need programmatic code generation,
for example inside a build tool:
using Daml.Codegen.CSharp;
using Daml.Codegen.CSharp.CodeGen;
using Daml.Codegen.Intermediate;
IntermediateDar proto;
await using (var stream = File.OpenRead("intermediate.binpb"))
{
proto = IntermediateDar.Parser.ParseFrom(stream);
}
var dar = IntermediateDarReader.Read(proto);
var logger = new ConsoleLogger(verbosity: 1);
var generator = new CSharpCodeGenerator(new CodeGenOptions(), logger);
var files = generator.Generate(dar);
foreach (var file in files)
{
// file.RelativePath, file.Content — the caller owns writing to disk.
}
Generated code targets the lockstep-versioned Daml.Runtime and
Daml.Ledger.Abstractions packages.
License
Apache-2.0. See the repository's LICENSE file.
| Product | Versions 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. |
-
net10.0
- Daml.Ledger.Abstractions (>= 0.2.0-preview.2)
- Daml.Runtime (>= 0.2.0-preview.2)
- Google.Protobuf (>= 3.35.1)
- Microsoft.CodeAnalysis.CSharp (>= 5.3.0)
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.2.0-preview.2 | 36 | 7/2/2026 |
| 0.2.0-preview.1 | 46 | 6/30/2026 |
| 0.1.8-preview.5 | 51 | 6/24/2026 |
| 0.1.8-preview.4 | 54 | 6/23/2026 |
| 0.1.8-preview.2 | 57 | 6/12/2026 |
| 0.1.8-preview.1 | 49 | 6/11/2026 |