eng/packages/http-client-csharp/README.md
TypeSpec library for emitting Azure libraries for C#.
npm install @azure-typespec/http-client-csharp
node --version)For detailed instructions on how to customize the generated C# code, see the Customization Guide.
tsp compile . --emit=@azure-typespec/http-client-csharp
emit:
- '@azure-typespec/http-client-csharp'
The config can be extended with options as follows:
emit:
- '@azure-typespec/http-client-csharp'
options:
'@azure-typespec/http-client-csharp':
option: value
emitter-output-dirType: absolutePath
Defines the emitter output directory. Defaults to {output-dir}/@azure-typespec/http-client-csharp
See Configuring output directory for more info
api-versionType: string
For TypeSpec files using the @versioned decorator, set this option to the version that should be used to generate against.
generate-protocol-methodsType: boolean
Set to false to skip generation of protocol methods. The default value is true.
generate-convenience-methodsType: boolean
Set to false to skip generation of convenience methods. The default value is true.
unreferenced-types-handlingType: "removeOrInternalize" | "internalize" | "keepAll"
Defines the strategy on how to handle unreferenced types. The default value is removeOrInternalize.
new-projectType: boolean
Set to true to overwrite the csproj if it already exists. The default value is false.
save-inputsType: 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.
package-nameType: string
Define the package name. If not specified, the first namespace defined in the TypeSpec is used as the package name.
debugType: boolean
Set to true to automatically attempt to attach to a debugger when executing the C# generator. The default value is false.
logLevelType: "info" | "debug" | "verbose"
Set the log level for which to collect traces. The default value is info.
disable-xml-docsType: boolean
Set to true to disable XML documentation generation. The default value is false.
generator-nameType: 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.
emitter-extension-pathType: 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.
update-code-modelType: 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.
licenseType: object
License information for the generated client code.
sdk-context-optionsType: 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.
namespaceType: string
The C# namespace to use for the generated code. This will override the TypeSpec namespaces.
model-namespaceType: boolean
Whether to put models under a separate 'Models' sub-namespace. This only applies if the 'namespace' option is set. The default value is 'false'.