{"record":{"id":"87e28cb33a519202","repo":"microsoft/aspire","slug":"the-requested-version-1-was-not-found-for-package-0","errorCode":null,"errorMessage":"The requested version '{1}' was not found for package '{0}'.","messagePattern":"The requested version '(.+?)' was not found for package '(.+?)'\\.","errorType":"exception","errorClass":"EmptyChoicesException","httpStatus":null,"severity":"error","filePath":"src/Aspire.Cli/Commands/AddCommand.cs","lineNumber":508,"sourceCode":"        // then we can skip the version prompt and just use that version.\n        if (!string.IsNullOrEmpty(preferredVersion))\n        {\n            if (packageVersions.Any(p => p.Package.Version == preferredVersion))\n            {\n                var preferredVersionPackage = packageVersions.First(p => p.Package.Version == preferredVersion);\n                return preferredVersionPackage;\n            }\n\n            var allVersions = await InteractionService.ShowStatusAsync(\n                string.Format(CultureInfo.CurrentCulture, AddCommandStrings.SearchingForSpecifiedPackageVersion, selectedPackage.Package.Id, preferredVersion),\n                async () => await GetAllPackageVersions(workingDirectory, packageVersions, cancellationToken));\n            var matchedPreferredVersionPackage = allVersions.FirstOrDefault(packageVersion => packageVersion.Package.Version == preferredVersion);\n            if (matchedPreferredVersionPackage.Package is not null)\n            {\n                return matchedPreferredVersionPackage;\n            }\n\n            throw new EmptyChoicesException(string.Format(CultureInfo.CurrentCulture, AddCommandStrings.SpecifiedVersionNotFoundForPackage, selectedPackage.Package.Id, preferredVersion));\n        }\n\n        // When PR hives are present, prefer the package that exactly matches the installed\n        // CLI/SDK version so template- and add-generated projects stay on the same build.\n        // IsBackedByLocalPackageDirectory also covers the ASPIRE_CLI_PACKAGES emulation case,\n        // where the local channel is named stable/daily/staging rather than a local-build name.\n        var prChannelPackageVersions = packageVersions\n            .Where(p => VersionHelper.IsLocalBuildChannel(p.Channel.Name) || p.Channel.IsBackedByLocalPackageDirectory)\n            .ToArray();\n\n        if (VersionHelper.TryGetCurrentCliVersionMatch(\n            prChannelPackageVersions,\n            p => p.Package.Version,\n            ExecutionContext.IdentitySdkVersion,\n            out var cliVersionPackage,\n            channelName: null,\n            hasPrHives: ExecutionContext.GetHiveCount() > 0 || ExecutionContext.IdentityPackagesDirectory is not null))\n        {","sourceCodeStart":490,"sourceCodeEnd":526,"githubUrl":"https://github.com/microsoft/aspire/blob/25830f84bd145686607ad00c057b3f84e2e51d43/src/Aspire.Cli/Commands/AddCommand.cs#L490-L526","documentation":"In the interactive add flow, when a preferred version is given, AddCommand looks it up in the full version list for the selected package and throws EmptyChoicesException if no package version equals the requested one.","triggerScenarios":"Running 'aspire add <name> --version <v>' where <v> exists in your head but not in the package's published version list (typo, EOL version, or package only published up to a lower version); also hit via GetPackageByInteractiveFlowWithNoMatchesMessage.","commonSituations":"Pinning a version that was never published or was deleted from the feed; copying a version from a different package; stale docs referencing an old release; private feed missing the version.","solutions":["Run the command without --version to list available versions and pick a valid one","Check the exact published versions of the package on the feed (nuget.org or your private source)","Correct the version string (typos, wrong channel, pre-release suffix like 9.1.0-preview1)","If using a local/PR hive, ensure the requested version exists in that local package directory"],"exampleFix":"// before\naspire add Aspire.Hosting.Redis --version 9.9.0  # not published\n// after\naspire add Aspire.Hosting.Redis --version 9.4.0","handlingStrategy":"validation","validationCode":"// query available versions before pinning\ndotnet package search Aspire.Hosting.Redis --exact-match --versions","typeGuard":null,"tryCatchPattern":"try { /* aspire add name --version v */ }\ncatch (EmptyChoicesException ex) when (ex.Message.Contains(\"was not found for package\"))\n{\n    // list versions, pick a published one, retry\n}","preventionTips":["Copy version strings exactly from the package feed","Check versions exist on the target feed/channel before pinning","Omit --version to get the latest available version"],"tags":["cli","version","nuget","packages"],"backgroundTag":"record-not-found","analyzedSha":"25830f84bd145686607ad00c057b3f84e2e51d43","analyzedAt":"2026-09-16T11:10:06.193Z","contentChangedAt":"2026-09-16T11:10:06.193Z","schemaVersion":2},"datasetVersion":"2026-09-21T09:17:21.228Z"}