首页 > 解决方案 > 以编程方式将 packageSource 添加到 Nuget.Config 中的 packageSources

问题描述

我正在尝试使用 NuGet 中的库 NuGet.Configuration 以编程方式将 packageSource 添加到我的 nuget.config。(我不能在 AWS CodeBuild 中使用 nuget.exe,至少没有大量繁重的工作)。

我无法对 NuGet.Configuration 类以及如何操作它们做出正面或反面。

基本上我想做的是:

  1. 加载 NuGet.Config 文件
  2. 添加包源
  3. 添加一个包SourceCredentials
  4. 将其保存回磁盘。

我找不到任何例子。建议?

标签: c#.netnuget

解决方案


没有时间“打扮”,但本质上是这样的:

                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();

推荐阅读