c# - 以编程方式将 packageSource 添加到 Nuget.Config 中的 packageSources
问题描述
我正在尝试使用 NuGet 中的库 NuGet.Configuration 以编程方式将 packageSource 添加到我的 nuget.config。(我不能在 AWS CodeBuild 中使用 nuget.exe,至少没有大量繁重的工作)。
我无法对 NuGet.Configuration 类以及如何操作它们做出正面或反面。
基本上我想做的是:
- 加载 NuGet.Config 文件
- 添加包源
- 添加一个包SourceCredentials
- 将其保存回磁盘。
我找不到任何例子。建议?
解决方案
没有时间“打扮”,但本质上是这样的:
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();
推荐阅读
- spring - 在哪个场景中,我们在 applicationContext 上调用 refresh(),start() 和 refresh() 方法有什么区别?
- java - 在androidx中如何正确使用片段?
- javascript - 获取选定文本的锚点名称
- html - 在我的视差页面右侧出现神秘的空白
- xml - 如何将非常复杂的 XML 扁平化为包含根级别所有节点的新 XML
- regex - 引用单元格中的文本并将剩余文本返回到其他单元格
- jquery - jquery触发器没有传递单选按钮值
- javascript - 如何让这个按钮在多个 div 中滚动?
- javascript - 防止 var 值(选定选项)在窗口滚动时更改
- json - 如何在颤动中比较两个 JSON 字符串?