Files
DotNetSolutionTools/DotNetSolutionTools.Core/Infrastructure/NugetLookup.cs
Matthew Parker 091c118b34 update packages
2023-11-22 22:11:07 +10:00

27 lines
790 B
C#

using NuGet.Common;
using NuGet.Protocol;
using NuGet.Protocol.Core.Types;
using NuGet.Versioning;
namespace DotNetSolutionTools.Core.Infrastructure;
public static class NugetLookup
{
public static async Task<NuGetVersion> FetchPackageMetadataAsync(string packageId)
{
var cache = new SourceCacheContext();
var repositories = Repository.Factory.GetCoreV3("https://api.nuget.org/v3/index.json");
var logger = NullLogger.Instance;
var resource = await repositories.GetResourceAsync<FindPackageByIdResource>();
var versions = await resource.GetAllVersionsAsync(
packageId,
cache,
logger,
CancellationToken.None
);
return versions.Last(s => s.IsPrerelease == false);
}
}