AuthenticationBuilder不包含AddAzureAd的定义

时间:2019-02-19 23:04:31

标签: c# azure authentication asp.net-core azure-active-directory

我正在按照here中的教程进行操作,并尝试使用Azure Ad启用OpenId Connect,这是我尝试添加到Startup.cs文件中的代码。

    services.AddAuthentication(sharedOptions =>
        {
            sharedOptions.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
            sharedOptions.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
        })
        .AddAzureAd(options => Configuration.Bind("AzureAd", options))
        .AddCookie();

但是它的AddAzureAd带有红色下划线,并显示以下错误消息:

  

“ AuthenticationBuilder”不包含“ AddAzureAd”的定义   并且没有可访问的扩展方法“ AddAzureAd”接受第一个   可以找到类型为“ AuthenticationBuilder”的参数(您是   缺少using指令或程序集引用?)

我尝试过的步骤:

  1. 清洁并重建解决方案
  2. 重新启动Visual Studio

但是它不能解决问题。谁知道导致这个的另一个原因是什么?

3 个答案:

答案 0 :(得分:2)

我因为没有添加参考文献而感到愚蠢,却浪费了相同的时间。 这个问题的答案将是:

 dotnet add package Microsoft.AspNetCore.Authentication.AzureAD.UI --version 2.2.0

请注意,您可能添加了与身份验证相关的另一参考,但没有添加遇到问题的参考。

答案 1 :(得分:0)

我必须在我的启动文件中添加一个using语句。

using Microsoft.AspNetCore.Authentication;

答案 2 :(得分:0)

就我而言,我必须:

  1. 在 *.cproj 中添加对 Microsoft.AspNetCore.Authentication.AzureAD.UI 的引用

  2. 在 Startup.cs 中添加 using Microsoft.AspNetCore.Authentication

  3. 使用.AddAzureAD(options => Configuration.Bind("AzureAd", options));

希望这对某人有所帮助,因为我浪费了半个小时。