MSBuild, csproj and props package reference editor.
PackageReferenceEditor is delivered as a NuGet package.
You can find the packages here NuGet and install the package like this:
Install-Package PackageReferenceEditor
- https://api.nuget.org/v3/index.json
- https://pkgs.dev.azure.com/wieslawsoltes/GitHub/_packaging/Nightly/nuget/v3/index.json
Same code can be used in C# programs by removing #addin
directive and installing package from NuGet.
#addin "nuget:?package=PackageReferenceEditor"
using PackageReferenceEditor;
Updater.FindReferences("./build", "*.props", new string[] { }).PrintVersions();
Updater.FindReferences("./", "*.csproj", new string[] { }).PrintVersions();
#addin "nuget:?package=PackageReferenceEditor"
using PackageReferenceEditor;
Updater.FindReferences("./build", "*.props", new string[] { }).ValidateVersions();
Updater.FindReferences("./", "*.csproj", new string[] { }).ValidateVersions();
#addin "nuget:?package=PackageReferenceEditor"
using PackageReferenceEditor;
Updater.FindReferences("./build", "*.props", new string[] { }).UpdateVersions("Newtonsoft.Json", "10.0.3");
#addin "nuget:?package=PackageReferenceEditor"
using PackageReferenceEditor;
var result = Updater.FindReferences("./build", "*.props", new string[] { });
result.ValidateVersions();
var version = result.GroupedReferences["Newtonsoft.Json"].FirstOrDefault().Version;
Information("Newtonsoft.Json package version: {0}", version);
#addin "nuget:?package=PackageReferenceEditor"
using PackageReferenceEditor;
using System.Linq;
var versions = NuGetApi.GetPackageVersions("https://api.nuget.org/v3/index.json", "Newtonsoft.Json").Result;
var latestVersion = versions.Reverse().FirstOrDefault();
Information("Newtonsoft.Json package latest version: {0}", latestVersion);
PackageReferenceEditor is licensed under the MIT license.