| File: Constraints\NuGetVersionRangeSpecification.cs | Web Access |
| Project: src\sdk\src\TemplateEngine\Microsoft.TemplateEngine.Edge\Microsoft.TemplateEngine.Edge.csproj (Microsoft.TemplateEngine.Edge) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.TemplateEngine.Utils; using NuGet.Versioning; namespace Microsoft.TemplateEngine.Edge.Constraints { internal class NuGetVersionRangeSpecification : IVersionSpecification { private readonly VersionRange _versionRange; internal NuGetVersionRangeSpecification(VersionRange versionRange) { _versionRange = versionRange; } public bool CheckIfVersionIsValid(string versionToCheck) { if (NuGetVersion.TryParse(versionToCheck, out NuGetVersion? nuGetVersion2)) { return _versionRange.Satisfies(nuGetVersion2); } return false; } public override string ToString() => _versionRange.ToString(); internal static bool TryParse(string value, out NuGetVersionRangeSpecification? version) { if (VersionRange.TryParse(value, out VersionRange? versionRange)) { version = new NuGetVersionRangeSpecification(versionRange!); return true; } version = null; return false; } } }