我们在C#应用程序中运行时遇到此错误:
{"Could not load type 'Microsoft.IdentityModel.Clients.ActiveDirectory.Internal.IWebUI' from assembly 'Microsoft.IdentityModel.Clients.ActiveDirectory, Version=3.13.1.846, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.":"Microsoft.IdentityModel.Clients.ActiveDirectory.Internal.IWebUI"}
感谢
答案 0 :(得分:0)
您似乎错过了所需的装配ADAL。如果您使用Visual Studio进行开发,我建议您使用NuGet来管理库。
例如,我创建了一个控制台应用程序,它使用ADAL从Azure AD获取令牌。然后我们可以通过右键单击reference-> Manage NuGet Packages安装ADAL并搜索/安装ADAL,如下图所示:
以下是我成功获得令牌的代码:
static void Main(string[] args)
{
AccquireToken();
Console.ReadLine();
}
static async void AccquireToken()
{
string authority = "https://login.microsoftonline.com/common";
string resource = "https://graph.microsoft.com";
string clientId = "ce1c938c-001c-4caf-b078-9092103e1d49";
Uri redirectUri = new Uri("http://localhost");
AuthenticationContext authContext = new AuthenticationContext(authority);
var result = await authContext.AcquireTokenAsync(resource, clientId, redirectUri, new PlatformParameters(PromptBehavior.Auto));
Console.WriteLine(result.AccessToken);
}
在这种情况下, Microsoft.IdentityModel.Clients.ActiveDirectory.Internal.IWebUI 的类型位于 Microsoft.IdentityModel.Clients.ActiveDirectory.Platform 程序集中当我们使用NuGet安装ADAL库时自动安装/引用。
答案 1 :(得分:0)