TypeSpec library for emitting Http Client libraries for C#.
npm install @typespec/http-client-csharp
- Install Node.js 20 or above. (Verify by running
node --version
) - Install .NET 8.0 SDK for your specific platform. (or a higher version)
- Via the command line
tsp compile . --emit=@typespec/http-client-csharp
- Via the config
emit:
- "@typespec/http-client-csharp"
The config can be extended with options as follows:
emit:
- "@typespec/http-client-csharp"
options:
"@typespec/http-client-csharp":
option: value
Type: absolutePath
Defines the emitter output directory. Defaults to {output-dir}/@typespec/http-client-csharp
See Configuring output directory for more info
Type: string
For TypeSpec files using the @versioned
decorator, set this option to the version that should be used to generate against.
Type: boolean
Set to false
to skip generation of protocol methods. The default value is true
.
Type: boolean
Set to false
to skip generation of convenience methods. The default value is true
.
Type: "removeOrInternalize" | "internalize" | "keepAll"
Defines the strategy on how to handle unreferenced types. The default value is removeOrInternalize
.
Type: boolean
Set to true
to overwrite the csproj if it already exists. The default value is false
.
Type: boolean
Set to true
to save the tspCodeModel.json
and Configuration.json
files that are emitted and used as inputs to the generator. The default value is false
.
Type: string
Define the package name. If not specified, the first namespace defined in the TypeSpec is used as the package name.
Type: boolean
Set to true
to automatically attempt to attach to a debugger when executing the C# generator. The default value is false
.
Type: "info" | "debug" | "verbose"
Set the log level for which to collect traces. The default value is info
.
Type: boolean
Set to true
to disable XML documentation generation. The default value is false
.
Type: string
The name of the generator. By default this is set to ScmCodeModelGenerator
. Generator authors can set this to the name of a generator that inherits from ScmCodeModelGenerator
.
Type: string
Allows emitter authors to specify the path to a custom emitter package, allowing you to extend the emitter behavior. This should be set to import.meta.url
if you are using a custom emitter.
Type: object
Allows emitter authors to specify a custom function to modify the generated code model before emitting. This is useful for modifying the code model before it is passed to the generator.
Type: object
License information for the generated client code.
Type: object
The SDK context options that implement the CreateSdkContextOptions
interface from the @azure-tools/typespec-client-generator-core
package to be used by the CSharp emitter.