Я хочу загружать пакеты Nuget программно из проектов .NET core / .NET Standard
У нас есть некоторые консольные приложения, которые являются инструментами пакетов NuGet, и я хочу загрузить их и запустить как фоновый процесс.
Лучший способ добиться этого - обратиться к NugetDownloader Пакет Nuget в Project и использовать его для загрузки любого пакета программным способом (в том числе и в ядре dotnet)
Install-Package NugetDownloader
Исходный код и справочное руководство по этому же доступно по адресу: https://github.com/paraspatidar/NugetDownloader
Вот краткий пример того, как этого добиться:
string packageName="Newtonsoft.json"; string version="10.2.1.0"; \\optional \\initilize NugetEngine from NugetDownloader namespaces NugetEngine nugetEngine = new NugetEngine(); nugetEngine.GetPackage(packageName, version).Wait();
образец клиента также доступен на https://github.com/paraspatidar/NugetDownloader/tree/master/NugetDownloaderTestConsole
С другой стороны В случае, если вы хотите собрать движок Nugetdownloader с нуля, вы также можете ссылаться на https://github.com/Azure/azure-functions-host/blob/dev/src/WebJobs.Script/Description/DotNet/PackageManager.cs, поскольку он имеет нечто похожее, но это слишком много для понимания и извлечения кода.