0

Sorama.CustomAuthentication在那个项目中创建了一个名为的项目,我安装了一个名为c# CodeFirst Membership Providervia的包nuGet package manager。您可以在此处查看已添加到此项目的参考 在此处输入图像描述

但它不会让CodeFirstMembershipProvider类继承自MembershipProvider. 错误说MembershipProvider could not be found. 我错过了什么?

4

2 回答 2

0

看起来您将它添加到了一个新的类库项目中(即没有添加到 MVC 项目本身)?如果是这样,那么他们认为存在于包中的大多数引用(将在模板 MVC 项目中)从您的类库引用中丢失。

坦率地说,那个特定的 NuGet(目前为 v1.0.0)并不是一个很好的包。它似乎缺少像 EntityFramework 和一些 .NET 框架引用这样的依赖项,所以一旦你通过了这个依赖项,你可能还需要添加其他依赖项,这可能是:

  • 来自 Nuget:
    • EntityFramework .dll, v5.0.0.0 ( Install-Package EntityFramework -Version 5.0.0)
  • 从 GAC(即使用项目的 Add Reference 上下文菜单,并在对话框中的 Assemblies\Framework 列表中搜索这些名称)
    • System.Web.dll,v4.0.0.0
    • System.Web.ApplicationServices.dll,v4.0.0.0
    • System.Configuration.dll,v4.0.0.0

将来,您可以通过要求 Visual Studio 构建项目并查看构建错误消息来解决此问题,这些消息如下所示:

找不到类型名称“MembershipProvider”。此类型已转发到程序集“ System.Web.ApplicationServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 ”。考虑添加对该程序集的引用。

我以粗体突出显示的位告诉您,它认为您需要的参考的最佳匹配是System.Web.ApplicationServices,尤其是 v 4.0.0.0,并且还为您提供公钥令牌。

于 2013-06-13T12:53:31.407 回答
0

确保将引用添加到 System.Web.ApplicationServices.dll

于 2013-06-13T12:15:34.557 回答