Программно добавьте PackageSource в packageSources в Nuget.Конфигурация

#c# #.net #nuget

#c# #.net #нагет

Вопрос:

Я пытаюсь использовать библиотеку NuGet.Конфигурация из NuGet для программного добавления PackageSource в мой файл nuget.config. (Я не могу использовать nuget.exe в AWS CodeBuild, по крайней мере, без тонны тяжелой работы).

Я не могу понять, орел это или решка.Классы конфигурации и способы их управления.

По сути, то, что я хочу сделать, это:

  1. Загрузите NuGet.Конфигурационный файл
  2. Добавление источника пакета
  3. Добавьте packageSourceCredentials
  4. Сохраните его обратно на диск.

Я не могу найти там никаких примеров. Посоветовать?

Ответ №1:

Нет времени «наряжать это», но, по сути, это так:

                 var setting = Settings.LoadSpecificSettings(Directory.GetCurrentDirectory(), "NuGet.Config");

            // get sources 
            var packageSourceProvider = new PackageSourceProvider(setting);

            var packageSource = new PackageSource(repo.RepositoryEndpoint, "my-repo")
            {
                Credentials = new PackageSourceCredential("my-repo", "aws", authorizationTokenAsync.AuthorizationToken, true, string.Empty)
            };

            packageSourceProvider.AddPackageSource(packageSource);

            setting.SaveToDisk();