我的C#Entity Frameworks项目是否闹鬼?

时间:2017-07-04 09:54:49

标签: c# .net git entity-framework migration

我正在研究.NET MVC解决方案,在使用程序包管理器控制台Add-Migration或更新SQL服务器时,我收到以下错误。

  

System.TypeInitializationException:类型初始值设定项   ' System.Data.Entity.SqlServer.SqlProviderServices'抛出一个例外。   ---> System.TypeLoadException:Method' ExecuteAsync'在类型' System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy'从   assembly' EntityFramework.SqlServer,Version = 6.0.0.0,Culture = neutral,   公钥= b77a5c561934e089'没有实施。

有趣的是,如果代码在同事的计算机上运行(即从git中提取)或放入新项目时代码可以运行。解决方案中的其他项目可以使用程序包管理器控制台正常工作。

创建此项目时,在.Net目标框架从4更改为4.5之前安装了Entity Frameworks 6.1.3。这似乎是问题的原因,因为在安装实体框架之前使用目标框架集创建的新项目工作正常。

我们尝试过:

  • 重新安装Entity Frameworks 6.1.3(实际上删除并恢复所有nuget包)
  • 在从git中提取代码(适用于同事的PC)之前删除本地分支并从文件系统中删除文件
  • 使用nuget命令行清除所有本地缓存​​包
  • 上述
  • 的许多组合

在所有情况下,错误仍然存​​在。

必须存在一个位置,其中存储与项目相关的更多数据或配置,这些数据或配置不由git管理并且导致错误。关于这些数据或配置存储位置的任何想法?

1 个答案:

答案 0 :(得分:0)

我无法发表评论,需要50 xp。

无论如何,请检查您的app / web配置文件,看看EF的版本是否仍然相同。如果这样dubbelcheck您的引用,您甚至可能需要删除它们并从您的包文件夹中手动添加它们。