Ruc*_*han 8 c# entity-framework data-annotations dbcontext
我有这个错误.
ApplicationDbContext是自动生成的DbContext,用于帐户部分.每当我尝试使用任何帐户控制器操作时,都会发生此错误.错误源自
public AccountController()
: this(new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext())))
{
}
Run Code Online (Sandbox Code Playgroud)
我有自己的DbContext,工作正常,并获得所有必需的数据.
参考文献很好.我该如何解决这个问题.
更新 我使用了一些更新的参考AspNet.Identity.它引起了这个问题吗?
更新2 当我混合两个成员资格提供程序版本时发生此错误.我首先使用MVC 5提供的默认值然后尝试使用MVC 3成员资格,然后再次回到MVC 5.然后这个错误开始弹出.
我还没有找到解决这个问题的方法.但是作为解决方法,我重新创建了Project以及我以前的所有文件,并且它有效.
Chr*_*uer 11
编辑.csproj
文件,并<HintPath>
使用正确的Entity Framework版本路径替换值(目前,最新的稳定版本为6.1.2):
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll</HintPath>
</Reference>
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.SqlServer.dll</HintPath>
</Reference>
Run Code Online (Sandbox Code Playgroud)
验证路径是否存在; 如果没有,请安装所需版本的Nuget包.
要清楚,这些是<HintPath>
您要编辑的元素,以确保具有当前版本:
<HintPath>..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll</HintPath>
Run Code Online (Sandbox Code Playgroud)
和
<HintPath>..\packages\EntityFramework.6.1.2\lib\net45\EntityFramework.dll</HintPath>
Run Code Online (Sandbox Code Playgroud)
将这些设置保留为主要版本6.0.0.0:
<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
Run Code Online (Sandbox Code Playgroud)
和
<Reference Include="EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6111 次 |
最近记录: |