diff --git a/src/CADL.Extension/Emitter.Csharp/src/emitter.ts b/src/CADL.Extension/Emitter.Csharp/src/emitter.ts index 2ebc3c48170..5dc665a09ec 100644 --- a/src/CADL.Extension/Emitter.Csharp/src/emitter.ts +++ b/src/CADL.Extension/Emitter.Csharp/src/emitter.ts @@ -171,11 +171,14 @@ export async function $onEmit(context: EmitContext) { const newProjectOption = options["new-project"] ? "--new-project" : ""; + + const debugFlag = options.debug ?? false ? " --debug" : ""; + const command = `dotnet --roll-forward Major ${resolvePath( options.csharpGeneratorPath )} --project-path ${outputFolder} ${newProjectOption} --clear-output-folder ${ options["clear-output-folder"] - }`; + }${debugFlag}`; console.info(command); try { diff --git a/src/CADL.Extension/Emitter.Csharp/src/options.ts b/src/CADL.Extension/Emitter.Csharp/src/options.ts index 0f86216406e..ee44ab2d89d 100644 --- a/src/CADL.Extension/Emitter.Csharp/src/options.ts +++ b/src/CADL.Extension/Emitter.Csharp/src/options.ts @@ -18,6 +18,7 @@ export type NetEmitterOptions = { "clear-output-folder"?: boolean; "save-inputs"?: boolean; "model-namespace"?: boolean; + debug?: boolean; } & DpgEmitterOptions; export const NetEmitterOptionsSchema: JSONSchemaType = { @@ -46,7 +47,8 @@ export const NetEmitterOptionsSchema: JSONSchemaType = { "model-namespace": { type: "boolean", nullable: true }, "generate-protocol-methods": { type: "boolean", nullable: true }, "generate-convenience-methods": { type: "boolean", nullable: true }, - "package-name": { type: "string", nullable: true } + "package-name": { type: "string", nullable: true }, + debug: { type: "boolean", nullable: true } }, required: [] }; @@ -61,7 +63,8 @@ const defaultOptions = { "save-inputs": false, "generate-protocol-methods": true, "generate-convenience-methods": true, - "package-name": undefined + "package-name": undefined, + debug: undefined }; export function resolveOptions(context: EmitContext) {