{"record":{"id":"ff01b6c02de935d9","repo":"microsoft/aspire","slug":"the-aspire-orchestration-component-is-not-installed-at","errorCode":null,"errorMessage":"The Aspire orchestration component is not installed at \"{dcpPath}\". The application cannot be run without it.","messagePattern":"The Aspire orchestration component is not installed at \"(.+?)\"\\. The application cannot be run without it\\.","errorType":"exception","errorClass":"FileNotFoundException","httpStatus":null,"severity":"critical","filePath":"src/Aspire.Hosting/Dcp/DcpDependencyCheck.cs","lineNumber":49,"sourceCode":"\n    public async Task<DcpInfo?> GetDcpInfoAsync(bool force = false, CancellationToken cancellationToken = default)\n    {\n        await _lock.WaitAsync(cancellationToken).ConfigureAwait(false);\n\n        try\n        {\n            if (_checkDone && !force)\n            {\n                return _dcpInfo;\n            }\n            _checkDone = true;\n\n            var dcpPath = _dcpOptions.CliPath;\n            var containerRuntime = _dcpOptions.ContainerRuntime;\n\n            if (!File.Exists(dcpPath))\n            {\n                throw new FileNotFoundException($\"The Aspire orchestration component is not installed at \\\"{dcpPath}\\\". The application cannot be run without it.\", dcpPath);\n            }\n\n            IAsyncDisposable? processDisposable = null;\n            Task<ProcessResult> task;\n            var outputStringBuilder = new StringBuilder();\n            var errorStringBuilder = new StringBuilder();\n\n            try\n            {\n                var arguments = \"info\";\n                if (!string.IsNullOrEmpty(containerRuntime))\n                {\n                    arguments += $\" --container-runtime {containerRuntime}\";\n                }\n\n                var processSpec = new ProcessSpec(dcpPath)\n                {\n                    Arguments = arguments,","sourceCodeStart":31,"sourceCodeEnd":67,"githubUrl":"https://github.com/microsoft/aspire/blob/25830f84bd145686607ad00c057b3f84e2e51d43/src/Aspire.Hosting/Dcp/DcpDependencyCheck.cs#L31-L67","documentation":"Thrown as FileNotFoundException by GetDcpInfoAsync when the DCP (Developer Control Plane) binary does not exist at the path resolved from the CliPath option. DCP is the local orchestration component Aspire uses to run resources; without the binary the app host cannot launch anything.","triggerScenarios":"Aspire.Hosting.Dcp.DcpDependencyCheck.GetDcpInfoAsync checks File.Exists(DcpOptions.CliPath) before invoking 'dcp'; the file is missing at that path.","commonSituations":"A partial or corrupted Aspire CLI/SDK install, CliPath manually overridden to a wrong location, DCP binaries deleted by antivirus/cleanup tools, or running the AppHost on a machine where the workload components were never restored.","solutions":["Reinstall or repair the Aspire workload/CLI so the dcp binary is restored under the expected path.","Check/fix the DcpOptions.CliPath configuration (e.g. ASPIRE_DCP_CLI_PATH env var or builder options) to point at the existing dcp executable.","Verify the file exists at the logged path with ls/Get-Item and correct permissions.","Clear stale DCP state (~/.aspire/dcp* directories) and restart the AppHost."],"exampleFix":"// before: path misconfigured\nbuilder.Configuration[\"ASPIRE_DCP_CLI_PATH\"] = \"/wrong/path/dcp\";\n// after: point to a valid executable (or remove the override entirely)\nbuilder.Configuration[\"ASPIRE_DCP_CLI_PATH\"] = \"/home/user/.dotnet/tool-resolve/aspire/dcp/dcp\";","handlingStrategy":"validation","validationCode":"var dcpPath = dcpOptions.CliPath;\nif (string.IsNullOrEmpty(dcpPath) || !File.Exists(dcpPath))\n{\n    throw new InvalidOperationException($\"DCP binary not found at '{dcpPath}'. Reinstall the Aspire CLI or fix the CliPath option before running.\");\n}","typeGuard":null,"tryCatchPattern":"try\n{\n    var dcpInfo = await dcpDependencyCheck.GetDcpInfoAsync(cancellationToken);\n}\ncatch (FileNotFoundException ex)\n{\n    logger.LogError(ex, \"DCP missing at {Path}; reinstall the Aspire CLI or correct CliPath.\", ex.FileName);\n}","preventionTips":["Install the Aspire CLI/workload via official installers so dcp ships alongside it.","Never hand-set CliPath unless you verify the binary exists at that path.","After OS upgrades or disk cleanups, confirm the dcp binary still exists before starting AppHosts.","Add the existence check for the dcp path into environment setup scripts for CI."],"tags":["dcp","orchestration","startup","missing-binary"],"backgroundTag":"file-not-found","analyzedSha":"25830f84bd145686607ad00c057b3f84e2e51d43","analyzedAt":"2026-09-16T11:10:06.193Z","contentChangedAt":"2026-09-16T11:10:06.193Z","schemaVersion":2},"datasetVersion":"2026-09-21T04:17:39.646Z"}