{"record":{"id":"e0994a9f850e677b","repo":"abpframework/abp","slug":"specified-directory-does-not-exist-e0994a","errorCode":null,"errorMessage":"Specified directory does not exist.","messagePattern":"Specified directory does not exist\\.","errorType":"exception","errorClass":"CliUsageException","httpStatus":null,"severity":"error","filePath":"framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ServiceProxying/JavaScript/JavaScriptServiceProxyGenerator.cs","lineNumber":79,"sourceCode":"    {\n        return ServiceType.Application;\n    }\n\n    private void RemoveProxy(GenerateProxyArgs args, string filePath)\n    {\n        if (File.Exists(filePath))\n        {\n            File.Delete(filePath);\n        }\n\n        Logger.LogInformation($\"Delete {GetLoggerOutputPath(filePath, args.WorkDirectory)}\");\n    }\n\n    private static void CheckWorkDirectory(string directory)\n    {\n        if (!Directory.Exists(directory))\n        {\n            throw new CliUsageException(\"Specified directory does not exist.\");\n        }\n\n        var projectFiles = Directory.GetFiles(directory, \"*.csproj\");\n        if (!projectFiles.Any())\n        {\n            throw new CliUsageException(\n                \"No project file found in the directory. The working directory must have a Web project file.\");\n        }\n    }\n\n    private static string RemoveInitializedEventTrigger(string script)\n    {\n        return script.Replace(EventTriggerScript, string.Empty);\n    }\n}\n","sourceCodeStart":61,"sourceCodeEnd":95,"githubUrl":"https://github.com/abpframework/abp/blob/7ed43b1931b9df46a50c0c59148a18645641d0df/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ServiceProxying/JavaScript/JavaScriptServiceProxyGenerator.cs#L61-L95","documentation":"JavaScriptServiceProxyGenerator.CheckWorkDirectory mirrors the C# generator's first check: Directory.Exists(directory) is false, so the work directory supplied to the JS/TS proxy generator does not exist on disk.","triggerScenarios":"Running 'abp generate-proxy -t js' (or ts) with a --work-directory that does not exist, or running from a deleted/renamed folder.","commonSituations":"Typo in path; relative path resolved against an unexpected cwd; directory removed by a clean step; CI checkout mismatch.","solutions":["Verify the directory exists: 'ls <work-directory>'.","Use an absolute path for --work-directory.","Run from inside the Web project folder without --work-directory so cwd is used."],"exampleFix":"// before\nabp generate-proxy -t js -wd ./Acme.App.Web\n// after\nabp generate-proxy -t js -wd /repo/src/Acme.App.Web","handlingStrategy":"validation","validationCode":"if (!Directory.Exists(workDirectory))\n{ Console.Error.WriteLine($\"Work directory '{workDirectory}' does not exist.\"); return; }","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use absolute paths for --work-directory.","Validate directory existence before invoking the JS proxy generator."],"tags":["cli","service-proxy","javascript","working-directory","path-resolution"],"backgroundTag":null,"analyzedSha":"7ed43b1931b9df46a50c0c59148a18645641d0df","analyzedAt":"2026-08-13T16:26:11.351Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}