EdjCase.ICP.ClientGenerator
2.2.6
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet tool install --global EdjCase.ICP.ClientGenerator --version 2.2.6
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
dotnet tool install --local EdjCase.ICP.ClientGenerator --version 2.2.6
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=EdjCase.ICP.ClientGenerator&version=2.2.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package EdjCase.ICP.ClientGenerator --version 2.2.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Client Generator
- Library of generating C# client code from *.did files
- Nuget:
EdjCase.ICP.ClientGenerator
Usage (dotnet tool)
Install with dotnet tools
dotnet tool install -g EdjCase.ICP.ClientGenerator
Run tool
(First run only) Initialize config file and update generated file
candid-client-generator init ./
Creates candid-client.toml file to update in specified directory
Example:
namespace = "My.Namespace" # Base namespace used for generated files
output-directory = "./Clients" # Directory to put clients. Each client will get its own sub folder based on its name. If not specified, will use current directory
no-folders = false # If true, will put all the files in a single directory
[[clients]]
name = "Dex" # Used for the name of the folder and client class
type = "file" # Create client based on service definition file
file-path = "./ServiceDefinitionFiles/Dex.did" # Service definition file path
output-directory = "./Clients/D" # Override base output directory, but this specifies the subfolder
no-folders = false # If true, will put all the files in a single directory
# Can specify multiple clients by defining another
[[clients]]
name = "Governance"
type = "canister" # Create client based on canister
canister-id = "rrkah-fqaaa-aaaaa-aaaaq-cai" # Canister to create client for
Generate clients
candid-client-generator ./
or
candid-client-generator gen ./
Config file options
Top Level:
namespace- (Text) REQUIRED. The base namespace used in all C# files generated. Files generated in a sub-folder will have a more specific namespace to match. This namespace can be overidden per client.output-directory- (Text) OPTIONAL. Directory to put all generated files. Each client will have a sub-folder within the output directory that will match the client name. If not specified, the working directory will be usedno-folders- (Bool) OPTIONAL. If true, no sub-folders will be generated for the clients or the models within the clients. All generated files will be in a flat structure. Defaults to falseurl- (Text) OPTIONAL. Sets the boundry node url to use for making calls to canisters on the IC. Can be set to a local developer instance/localhost. Defaults to 'https://ic0.app/'. This setting is only useful for clients of generation typecanisterfeature-nullable- (Bool) Optional. Sets whether to use the C# nullable feature when generating the client (likeobject?). Defaults to truekeep-candid-case- (Bool) Optional. If true, the names of properties and methods will keep the raw candid name. Otherwise they will be converted to something prettier. Defaults to false
Client Level:
name- (Text) REQUIRED. The name of the sub-folder put the client files and the prefix to the client class name.type- (Text) REQUIRED. An enum value to indicate what type of client generation method to use. Each enum value also has associated configuration settings. Options:file- Will create a client based on a service definition file (*.did)file-path- (Text) REQUIRED. The file path to the*.didfile to generate from
canister- Creates a client based on a canister idcansiter-id- (Text) REQUIRED. The principal id of the canister to generate a client for
output-directory- (Text) OPTIONAL. Directory to put all generated client files. Overrides the top leveloutput-directory. NOTE: this does not create a sub-folder based on the client name like the top leveloutput-directorydoesno-folders- (Bool) OPTIONAL. If true, no sub-folders will be generated for the client. All generated files will be in a flat structure. Defaults to false. Overrides the top levelno-foldersfeature-nullable- (Bool) Optional. Sets whether to use the C# nullable feature when generating the client (likeobject?). Defaults to true. Overrides the top levelfeature-nullablekeep-candid-case- (Bool) Optional. If true, the names of properties and methods will keep the raw candid name. Otherwise they will be converted to something prettier. Defaults to false. Overrides the top levelkeep-candid-case
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 8.0.0-pre.1 | 178 | 3/18/2025 |
| 7.0.2 | 322 | 3/27/2025 |
| 7.0.1 | 275 | 2/4/2025 |
| 7.0.0 | 244 | 1/15/2025 |
| 7.0.0-rc.1 | 161 | 1/4/2025 |
| 7.0.0-pre.1 | 132 | 10/27/2024 |
| 6.2.1 | 289 | 10/23/2024 |
| 6.2.0 | 251 | 10/21/2024 |
| 6.1.2 | 306 | 4/30/2024 |
| 6.1.1 | 265 | 4/17/2024 |
| 6.1.0 | 298 | 4/15/2024 |
| 6.0.0 | 346 | 3/21/2024 |
| 5.1.0 | 384 | 1/25/2024 |
| 5.0.0 | 438 | 1/12/2024 |
| 5.0.0-pre.2 | 269 | 12/13/2023 |
| 5.0.0-pre.1 | 176 | 12/11/2023 |
| 4.1.0 | 565 | 11/10/2023 |
| 4.0.1 | 586 | 11/1/2023 |
| 4.0.0 | 551 | 10/12/2023 |
| 2.2.6 | 452 | 4/12/2023 |
Loading failed