我的 C# 实体框架项目出没了吗?
Posted
技术标签:
【中文标题】我的 C# 实体框架项目出没了吗?【英文标题】:Is my C# Entity Frameworks project haunted? 【发布时间】:2017-07-04 09:54:49 【问题描述】:我正在开发 .NET MVC 解决方案,当使用包管理器控制台Add-Migration
或更新 SQL 服务器时出现以下错误。
System.TypeInitializationException:类型初始化器 'System.Data.Entity.SqlServer.SqlProviderServices' 引发异常。 ---> System.TypeLoadException:“System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy”类型中的方法“ExecuteAsync”来自 程序集 'EntityFramework.SqlServer,版本 = 6.0.0.0,文化 = 中性, PublicKeyToken=b77a5c561934e089' 没有实现。
有趣的是,如果代码在同事的计算机上运行(即从 git 提取时)或放入新项目时,代码就可以工作。解决方案中的其他项目可以在包管理器控制台中正常工作。
创建此项目时,在 .Net 目标框架从 4 更改为 4.5 之前安装了 Entity Frameworks 6.1.3。这似乎是问题的原因,作为一个新项目,在安装实体框架之前使用目标框架集创建,工作正常。
我们已经尝试过:
重新安装 Entity Frameworks 6.1.3(实际上是删除和恢复所有 nuget 包) 删除本地分支并从文件系统中删除文件,然后从 git 中提取代码(在同事的 PC 上工作) 使用 nuget 命令行清除所有本地缓存的包 上述多种组合在所有情况下,错误仍然存在。
必须有一个位置存储更多与项目相关的数据或配置,这些数据或配置不受 git 管理并且导致错误。关于这些数据或配置的存储位置有什么想法吗?
【问题讨论】:
正如同事所说,我对此感到困惑。任何人都可以散发的任何光芒将不胜感激! 你见过this question吗? 您可以尝试删除位于 .sln 文件旁边的 .suo 文件。也许一开始只是尝试移动/重命名它,这样你就可以把它放回去。 Details on the .suo file 【参考方案1】:我还不能评论,需要 50 xp。
无论如何,请检查您的应用程序/网络配置文件,看看 EF 的版本是否仍然相同。如果是这样 dubbelcheck 您的引用,您甚至可能需要删除它们并从您的包文件夹中手动添加它们。
【讨论】:
以上是关于我的 C# 实体框架项目出没了吗?的主要内容,如果未能解决你的问题,请参考以下文章