在 C# 中以编程方式读取 nuget.config
read nuget.config programmatically in c#
是否可以使用 Nuget.visualStudio、nuget.core 或 nuget.clients 读取 nuget.config 文件和包源代码 dll.I 可以解析 xml 但 nuget.dlls
中是否有任何开箱即用的逻辑
是的!您需要使用 https://www.nuget.org/packages/NuGet.Configuration/4.6.2.
提供的 NuGet.Configuration
软件包
那么你可以使用下面的代码 -
using NuGet.Configuration;
using System;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
// basic implementation of nuget.config in code
var setting = Settings.LoadSpecificSettings(@"f:\root", "nuget.config");
// get sources
var packageSourceProvider = new PackageSourceProvider(setting);
var sources = packageSourceProvider.LoadPackageSources();
foreach(var source in sources)
{
Console.WriteLine($"{source.Name}: {source.SourceUri}");
}
}
}
}
这将生成以下输出 -
NuGet.org: https://api.nuget.org/v3/index.json
使用的示例配置文件(假设路径 f:\root\nuget.config
)-
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="NuGet.org" value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>
是否可以使用 Nuget.visualStudio、nuget.core 或 nuget.clients 读取 nuget.config 文件和包源代码 dll.I 可以解析 xml 但 nuget.dlls
中是否有任何开箱即用的逻辑是的!您需要使用 https://www.nuget.org/packages/NuGet.Configuration/4.6.2.
提供的NuGet.Configuration
软件包
那么你可以使用下面的代码 -
using NuGet.Configuration;
using System;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
// basic implementation of nuget.config in code
var setting = Settings.LoadSpecificSettings(@"f:\root", "nuget.config");
// get sources
var packageSourceProvider = new PackageSourceProvider(setting);
var sources = packageSourceProvider.LoadPackageSources();
foreach(var source in sources)
{
Console.WriteLine($"{source.Name}: {source.SourceUri}");
}
}
}
}
这将生成以下输出 -
NuGet.org: https://api.nuget.org/v3/index.json
使用的示例配置文件(假设路径 f:\root\nuget.config
)-
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="NuGet.org" value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>