{"record":{"id":"70a7419a10517a6f","repo":"microsoft/aspire","slug":"integration-package-probe-manifest-normalizedmanifestpath","errorCode":null,"errorMessage":"Integration package probe manifest '{normalizedManifestPath}' does not exist.","messagePattern":"Integration package probe manifest '(.+?)' does not exist\\.","errorType":"exception","errorClass":"InvalidOperationException","httpStatus":null,"severity":"error","filePath":"src/Shared/IntegrationPackageProbeManifest.cs","lineNumber":114,"sourceCode":"            return nameComparison != 0\n                ? nameComparison\n                : StringComparer.Ordinal.Compare(left.Path, right.Path);\n        });\n\n        return new IntegrationPackageProbeManifest(managedAssemblyList, nativeLibraryList);\n    }\n\n    public static IntegrationPackageProbeManifest Load(string? manifestPath)\n    {\n        if (string.IsNullOrWhiteSpace(manifestPath))\n        {\n            return Empty;\n        }\n\n        var normalizedManifestPath = NormalizeManifestPath(manifestPath);\n        if (!File.Exists(normalizedManifestPath))\n        {\n            throw new InvalidOperationException($\"Integration package probe manifest '{normalizedManifestPath}' does not exist.\");\n        }\n\n        using var stream = File.OpenRead(normalizedManifestPath);\n        using var document = JsonDocument.Parse(stream);\n        var managedAssemblies = ReadManagedAssemblies(document.RootElement);\n        var nativeLibraries = ReadNativeLibraries(document.RootElement);\n\n        return Create(managedAssemblies, nativeLibraries);\n    }\n\n    public static Task WriteAsync(\n        string path,\n        IntegrationPackageProbeManifest manifest,\n        CancellationToken cancellationToken = default)\n    {\n        ArgumentException.ThrowIfNullOrEmpty(path);\n        ArgumentNullException.ThrowIfNull(manifest);\n","sourceCodeStart":96,"sourceCodeEnd":132,"githubUrl":"https://github.com/microsoft/aspire/blob/25830f84bd145686607ad00c057b3f84e2e51d43/src/Shared/IntegrationPackageProbeManifest.cs#L96-L132","documentation":"IntegrationPackageProbeManifest.Load validates that the probe manifest JSON file exists on disk before parsing it. If File.Exists fails for the normalized path, it throws InvalidOperationException naming the exact path it looked for. The manifest describes managed assemblies and native libraries to probe for an integration package.","triggerScenarios":"Calling IntegrationPackageProbeManifest.Load(manifestPath) with a path to a JSON file that does not exist on disk at that exact normalized absolute path.","commonSituations":"Typo in the manifest file name; the build/pack step that copies the manifest did not run or output it elsewhere; running from a different working directory with a relative path; the file was deleted or the package layout changed between versions.","solutions":["Check the path in the error message and create/restore the manifest file at that location.","Regenerate the manifest by rebuilding/repacking the integration package (the probe manifest is produced during build).","If using a relative path, resolve it against the expected base directory (e.g. AppContext.BaseDirectory) instead of the process working directory.","Verify the package version/layout: an upgraded package may have moved or renamed the manifest."],"exampleFix":"// before\nvar manifest = IntegrationPackageProbeManifest.Load(\"probe-manifest.json\");\n\n// after\nvar path = Path.Combine(AppContext.BaseDirectory, \"probe-manifest.json\");\nif (!File.Exists(path)) throw new FileNotFoundException(\"Probe manifest missing\", path);\nvar manifest = IntegrationPackageProbeManifest.Load(path);","handlingStrategy":"validation","validationCode":"var path = Path.GetFullPath(manifestPath);\nif (!File.Exists(path))\n    throw new FileNotFoundException($\"Probe manifest not found: {path}\", path);","typeGuard":null,"tryCatchPattern":"try { var m = IntegrationPackageProbeManifest.Load(manifestPath); }\ncatch (InvalidOperationException ex) when (ex.Message.Contains(\"does not exist\"))\n{ logger.LogError(ex, \"Probe manifest missing\"); throw; }","preventionTips":["Ensure the build copies the manifest to the output directory (check csproj Content/None items).","Resolve relative manifest paths against AppContext.BaseDirectory, not the current working directory."],"tags":["file","manifest","not-found"],"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-22T16:17:23.217Z"}