未定义ASP.NET Core UseMicrosoftAccountAuthentication类型IApplicationBuilder

时间:2015-11-20 21:26:08

标签: asp.net-core asp.net-core-mvc entity-framework-core asp.net-identity-3

我能够在ASP.NET 5 Beta 8中使用MicrosoftAccountAuthentication,但Startup.cs中的相同代码不会在RC1中构建

        app.UseMicrosoftAccountAuthentication(options =>
    {
        options.ClientId = "MyClientId";
        options.ClientSecret = "MyClientSecret";
    });

错误是

The type 'IApplicationBuilder' is defined in an assembly that is not referenced. You must add a reference to assembly  'Microsoft.AspNet.Http.Abstractions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

但是,Beta 8中不需要程序集Microsoft.AspNet.Http.Abstractions,也无法将其添加到使用列表中。

我注意到Microsoft文档始终使用Facebook身份验证进行引用。 Microsoft帐户身份验证是否会作为外部提供程序消失?

1 个答案:

答案 0 :(得分:3)

当我使用在VS 2015中使用rc1工具创建的新网络应用程序进行尝试时,它为我构建。

我在project.json

中的依赖项中添加它
"Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-rc1-final",

我在Startup.cs的顶部添加了这个

using Microsoft.AspNet.Authentication.MicrosoftAccount;

我在app.UseMvc

之前的Startup.cs配置方法中添加了此代码
app.UseMicrosoftAccountAuthentication(options =>
{
    options.ClientId = "MyClientId";
    options.ClientSecret = "MyClientSecret";
});

它为我构建良好并在登录页面上显示Microsoft按钮,但我还没有使用真实凭据进行测试。

我怀疑你的project.json文件有问题,请确保你已经将所有内容更新为rc1引用和任何名为Microsoft.Framework的内容。*必须重命名为Microsoft.Extensions。*

如果这对您解决问题没有帮助,请更新您的问题以包含您的project.json文件内容。