【问题标题】:Unable to find assembly Entity Framework v 4.4.0.0找不到程序集实体框架 v 4.4.0.0
【发布时间】:2015-03-04 13:34:09
【问题描述】:

我们在 VS2010 上,并且有 Entity Framework 为许多事情工作。参考就在那里,它是 4.4.0.0。有相同错误的 SO 线程说它可能由于 .net 版本不匹配,但是由于 EF 调用在程序的某些部分中工作,这似乎不太可能。我已经卸载并重新安装了几次 EF,但没有成功。

这个错误发生在SaveChanges():

无法找到程序集实体框架 4.4.0.0

   // add to permissions table
   EAT_Permissions permission = new EAT_Permissions
   {
         action_id = actionID,
         login = userLogin
   };
   context.EAT_Permissions.Attach(permission);
   context.EAT_Permissions.Add(permission);
   context.SaveChanges();
   permissionsDGV.Refresh();
   MessageBox.Show("Permission was added");

相比之下,工作代码:

if (context.EAT_Users.Any(p => p.login == userLogin))
            {   
                var removeUser = context.EAT_Users.Find(userLogin);
                context.EAT_Users.Attach(removeUser);
                context.EAT_Users.Remove(removeUser);
                context.SaveChanges();
                userListDGV.Refresh();
                MessageBox.Show("User was removed");
            }
            else..

【问题讨论】:

  • 作为健全性检查,bin 文件夹中是否有 EntityFramework.dll 文件?您是否检查了 .csproj 文件以确保存在正确的参考?您是否清理并重建了解决方案?您是否检查了 app.config/web.config(以适用者为准)文件中的实体框架参考?
  • 是的,是的,是的。 :( 它适用于许多其他调用,所以我认为这是由于表格的布局方式造成的......但这将是一个奇怪的错误。谢谢你的建议。
  • @user1666620 如果您有多个负责 DAL 的项目,则可能是这些项目之间不匹配,或者其中一个配置文件中可能存在 EF 版本的 bindingRedirect。
  • 您的解决方案是否包含多个项目?他们是否引用了不同版本的实体框架?
  • “无法找到程序集实体框架 4.4.0.0”异常的堆栈跟踪是什么?

标签: c# .net excel entity-framework


【解决方案1】:

这可能不是答案,但这里有一些理智检查和问题可能会引导您找到答案。

  1. edmx 文件是否已更新到最新的数据库?
  2. 您能创建一个临时项目,启动并运行它并执行该过程吗?会发生同样的情况吗?从工作项目中可以看出什么...版本号等。
  3. 此请求是否在 WPF 程序、Web 服务、Silverlight 中?
  4. 正在使用的用户或登录名是否有权保存到数据库?
  5. 能否将版本移至 EF 5(适用于 VS2010 和最低 .Net 4)?

【讨论】:

    猜你喜欢
    • 2016-11-17
    • 1970-01-01
    • 1970-01-01
    • 2013-06-07
    • 2013-12-05
    • 1970-01-01
    • 1970-01-01
    • 2021-08-31
    • 1970-01-01
    相关资源
    最近更新 更多