ByteDev.Nuget
1.0.0
Install-Package ByteDev.Nuget -Version 1.0.0
dotnet add package ByteDev.Nuget --version 1.0.0
<PackageReference Include="ByteDev.Nuget" Version="1.0.0" />
paket add ByteDev.Nuget --version 1.0.0
#r "nuget: ByteDev.Nuget, 1.0.0"
// Install ByteDev.Nuget as a Cake Addin
#addin nuget:?package=ByteDev.Nuget&version=1.0.0
// Install ByteDev.Nuget as a Cake Tool
#tool nuget:?package=ByteDev.Nuget&version=1.0.0
ByteDev.Nuget
.NET Standard library that provides some nuget package related functionality against the nuget V3 API.
The library is built on top of the NuGet Client SDK.
Installation
ByteDev.Nuget has been written as a .NET Standard 2.0 library, so you can consume it from a .NET Core or .NET Framework 4.6.1 (or greater) application.
ByteDev.Nuget is hosted as a package on nuget.org. To install from the Package Manager Console in Visual Studio run:
Install-Package ByteDev.Nuget
Further details can be found on the nuget page.
Release Notes
Releases follow semantic versioning.
Full details of the release notes can be viewed on GitHub.
Usage
NugetPackageClient
is the main type for performing package operations:
Methods:
- DownloadToFileAsync
- DownloadToStreamAsync
- GetAsync
- GetDependenciesAsync
- GetLatestAsync
- GetVersionsAsync
- ExistsAsync
- SearchAsync
// Initialize the client type
INugetPackageClient client = new NugetPackageClient();
// Download a package to a file
string fileName = NugetPackageFileName.Create("Newtonsoft.Json", "12.0.3");
string filePath = Path.Combine("C:\Temp", fileName);
await client.DownloadToFileAsync("Newtonsoft.Json", "12.0.3", filePath);
// Download a package to a stream
using(Stream stream = await client.DownloadToStreamAsync("Newtonsoft.Json", "12.0.3"))
{
// use stream...
}
// Get all package versions
IEnumerable<IPackageSearchMetadata> packages = await client.GetAsync("Newtonsoft.Json");
// Get single package version
IPackageSearchMetadata package = await client.GetAsync("Newtonsoft.Json", "12.0.3");
// Get a package's dependencies
var nuGetFramework = NuGetFrameworkFactory.CreateFramework("4.5");
var query = new GetPackageDependenciesRequest("Moq", "4.14.5", nuGetFramework)
{
AddRootPackageToResults = false
};
query.IgnoreAuthors.Add("Microsoft");
IList<IPackageSearchMetadata> packages = await client.GetDependenciesAsync(query);
// Get latest version of a package
IPackageSearchMetadata package = await client.GetLatestAsync("Newtonsoft.Json");
// Get versions
IEnumerable<NuGetVersion> versions = await client.GetVersionsAsync("Newtonsoft.Json");
// Check a package exists
bool exists = await client.ExistsAsync("Newtonsoft.Json");
// Check a package version exists
bool exists = await client.ExistsAsync("Newtonsoft.Json", "12.0.3");
// Search for "json" packages (take first 100 records)
var request = new SearchPackagesRequest("json")
{
Take = 100
};
IEnumerable<IPackageSearchMetadata> packages = await client.SearchAsync(request);
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net461 net462 net463 net47 net471 net472 net48 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
-
.NETStandard 2.0
- NuGet.Protocol (>= 5.7.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 260 | 9/22/2020 |