C# 如何使用NuGet.core设置凭据提供程序?
我正在尝试使用Nuget.Core访问Nuget提要,我确实有凭据提供程序,但我仍然未获得授权。我需要采取哪些步骤来获取nuget.core以使用凭据提供程序并以编程方式获取访问权限。多谢各位 如果您使用的是NuGet.Core程序集,则需要创建或使用实现NuGet.ICredentialProvider接口的类C# 如何使用NuGet.core设置凭据提供程序?,c#,nuget,C#,Nuget,我正在尝试使用Nuget.Core访问Nuget提要,我确实有凭据提供程序,但我仍然未获得授权。我需要采取哪些步骤来获取nuget.core以使用凭据提供程序并以编程方式获取访问权限。多谢各位 如果您使用的是NuGet.Core程序集,则需要创建或使用实现NuGet.ICredentialProvider接口的类 using System; using System.Net; using NuGet; namespace Test { class MyCredentialProvide
using System;
using System.Net;
using NuGet;
namespace Test
{
class MyCredentialProvider : ICredentialProvider
{
public ICredentials GetCredentials(Uri uri, IWebProxy proxy, CredentialType credentialType, bool retrying)
{
// TODO return the credentials...
throw new NotImplementedException ();
}
}
}
然后创建该类的实例,并将其分配给NuGet.HttpClient
NuGet.HttpClient.DefaultCredentialProvider = new MyCredentialProvider ();
此外,NuGet还提供了一个SettingsCredentialProvider类,如果您将凭据存储在NuGet.Config文件中,则可以使用该类。SettingsCredentialProvider在其构造函数中接受一个ICredentialProvider实例,因此,如果您想传递自己的实现,则可以传递该实现,如果在NuGet.Config文件中找不到凭据,则将使用该实现。或者,如果您只想使用要使用的NuGet.Config文件中存储的信息,您可以向SettingsCredentialProvider类传递一个NullCredentialProvider。我为此苦苦挣扎了好几天——GitHub让我站在了顶端,允许我创建一个API,以完全相同的方式获取凭据提供程序
NuGet.Client
有(我主要是从中复制和粘贴的)
我创造了一个
但基本上
- 创建一个
,并用计算机上的凭据提供程序填充它CredentialService
- 这是困难的部分,所以只需做
所做的事情Nuget.Client
- 这是困难的部分,所以只需做
- 使用您的服务设置
HttpHandlerResourceV3.CredentialService