abpframework/abp · error · Exception

There is no version found with given version: {version}

Error message

There is no version found with given version: {version}

What it means

Thrown by `AbpIoSourceCodeStore.GetAsync` when `trustUserVersion` is false and the `IsVersionExists` check against the abp.io `all-versions` API reports the requested version does not exist for the template. It is a raw `Exception` (not `CliUsageException`).

Source

Thrown at framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/AbpIoSourceCodeStore.cs:164

                else
                {
                    Logger.LogWarning($"> dotnet tool uninstall -g volo.abp.cli");
                    Logger.LogWarning(!templateVersion.IsPrerelease
                        ? $"> dotnet tool install -g volo.abp.cli --version \"{templateVersion.Major}.{templateVersion.Minor}.*\""
                        : $"> dotnet tool install -g volo.abp.cli --version {templateVersion}");
                }

                if (userSpecifiedVersion)
                {
                    Logger.LogWarning($"We have changed the template version as the cli version.");
                    Logger.LogWarning($"New version: {version}");
                }
            }
        }

        if (!trustUserVersion && !await IsVersionExists(name, version))
        {
            throw new Exception("There is no version found with given version: " + version);
        }

        var nugetVersion = await GetTemplateNugetVersionAsync(name, type, version) ?? version;

        if (!string.IsNullOrWhiteSpace(templateSource) && !IsNetworkSource(templateSource))
        {
            Logger.LogInformation("Using local " + type + ": " + name + ", version: " + version);

            // A local template source can be a direct ".zip" file path or a folder that contains the "{name}-{version}.zip" file.
            var localTemplateFilePath = templateSource.EndsWith(".zip", StringComparison.OrdinalIgnoreCase)
                ? templateSource
                : Path.Combine(templateSource, name.Replace("/", ".").EnsureEndsWith('-') + version + ".zip");

            Logger.LogInformation("Using local template file: " + localTemplateFilePath);

            return new TemplateFile(File.ReadAllBytes(localTemplateFilePath),
                version, latestVersion, nugetVersion);
        }

View on GitHub (pinned to 7ed43b1931)

Solutions

  1. Check published versions at abp.io or via the all-versions API and use an exact published version.
  2. Include prereleases if needed by enabling `includePreReleases` in the requesting command.
  3. Use `trustUserVersion`/local template source if you genuinely want an unpublished/local version.

Example fix

# before
abp new Acme.BookStore -v 99.0.0
# after
abp new Acme.BookStore -v 8.3.0
Defensive patterns

Strategy: validation

Validate before calling

// Verify the version exists before requesting the template.
bool exists = await IsVersionExistsAsync(templateName, version);
if (!exists)
    throw new ArgumentOutOfRangeException(nameof(version), $"Version {version} not published for {templateName}.");

Try / catch

try { await sourceCodeStore.GetAsync(name, type, version); }
catch (Exception ex) when (ex.Message.Contains("no version found"))
{
    logger.LogError("Version {Version} not found for {Name}; check published versions.", version, name);
    throw;
}

Prevention

When it happens

Trigger: Running `abp new -v <version>` (or a module download) with a version that does not exist on the remote for that template/module name; passing a typo or a version from a different product line.

Common situations: Typing the version wrong (e.g. `8.3` instead of `8.3.0`); requesting a version newer/older than published; mismatched template name; prerelease version requested without prerelease flag.

Related errors


AI-assisted analysis of abpframework/abp@7ed43b1931 (2026-08-13). Data as JSON: /api/errors/36e80fd351af1abe. Report an issue: GitHub.