当我试图启用EF 4.3.1迁移发生异常(Exception raised when I'm

2019-06-25 10:21发布

我用我的.NET 4.0的类库项目通过的NuGet安装实体框架4.3.1。 在情况下,当我打电话下午在控制台中的“启用的迁移”命令,我收到以下异常:

异常调用 “LoadFrom” 与 “1” 的说法(S):“Nelzenačístsoubor尼波sestavení文件:/// d:\用户\ DvoracekR \文档\ Visual Studio 2010的\项目\ WebCameras \包\ EntityFramework.4.3.1 \到OLS \ EntityFramework.PowerShell.Utility.dll尼波jedenžjejichzávislýchprvků。系统nemůže纳莱ZTuvedenýsoubor“。 在d:\用户\ DvoracekR \文档\ Visual Studio 2010的\项目\ WebCameras \包\ EntityFramework.5。 0.0-RC \工具\ EntityFramework.psm1:393字符:62 + $ utilityAssembly = [System.Reflection.Assembly] :: LoadFrom <<<<((加入路径$ toolsPath实体Framework.PowerShell.Utility.dll))+ CategoryInfo:NotSpecified:(:) [],MethodInvocationException + FullyQualifiedErrorId:DotNetMethodException

你不能调用一个空值表达式的方法。 在d:\用户\ DvoracekR \文档\ Visual Studio 2010的\项目\ WebCameras \包\ EntityFramework.5。 0.0-RC \工具\ EntityFramework.psm1:394字符:50 + $调度= $ utilityAssembly.CreateInstance <<<<(+ CategoryInfo:InvalidOperation:(的CreateInstance:字符串)[],的RuntimeException + FullyQualifiedErrorId:InvokeMethodOnNull

例外主叫 “CreateInstanceFrom” 与 “8” 参数(一个或多个): “典型值System.Data.Entity.Migrations.En ableMigrationsCommand泽sestaveníEntityFramework.PowerShell,版本= 4.3.1.0,文化=中性,P ublicKeyToken = b77a5c561934e089 nelzenačíst”。 在d:\用户\ DvoracekR \文档\ Visual Studio 2010的\项目\ WebCameras \包\ EntityFramework.5。 0.0-RC \工具\ EntityFramework.psm1:418字符:31> + $ domain.CreateInstanceFrom <<<<(+ CategoryInfo:NotSpecified:(:) [],MethodInvocationException + FullyQualifiedErrorId:DotNetMethodException

Answer 1:

我解决了上述问题。

  1. 我使用的NuGet包管理器卸载实体框架。
  2. 我手动清除在包目录开始与“实体”的子目录。
  3. 我再次安装实体框架4.3.1

现在迁移正确启用。



Answer 2:

我知道这是一个老问题,已经有一个公认的答案,但我有这个问题,我想我会分享我做了什么来解决这个问题。


我的解决办法是在源控制和我搞砸了我的本地项目。 我决定从源代码控制重新开始,所以我创建了一个新的文件夹,并检查出从SVN的代码。

当我做到了,我不再能够创建迁移。 我上面列出了同样的错误。 我试图Uninstall-Package EntityFramework ,却得到了类似的信息约内的EntityFramework丢失的文件/引用。

我回到我的旧文件夹,看着$Project\packages\EntityFramework.6.0.2\和这个相比,我的新文件夹。 有几个DLL文件/ XML文件丢失,因为它们在源代码控制没有。 他们是在\tools\\lib\net40\lib\net45\目录。

我只是复制这些文件到我的新项目,关闭/重新打开Visual Studio中,并做了重建。 在那之后,一切工作正常。



Answer 3:

重新安装NuGet包并没有为我工作。 什么做的工作是对项目从网络驱动器移动到本地驱动器。 运行比较结果表明,除了objbin目录中的所有文件都是二进制相同。

如果我没有记错,我在最后一次尝试Update-Database是以前我搬到这个项目到网络驱动器。



Answer 4:

通过发送他的项目具有大专共享一个项目时,我遇到了这个问题。 当他送还给我,我发现,当我尝试添加迁移返回的项目给了我这个错误。 我因过度写包\ EntityFramework.5.0.0文件夹从与我原来的项目的文件夹返回的项目解决了这个问题。

我不明白的问题,如果我只是动一下我自己的机器上的项目。



Answer 5:

这个问题开始使用同一物理机上的不同虚拟机的时候发生在我身上。

VMware Fusion的默认共享与OS X,而这又与使用Visual Studio已安装多个虚拟机时,竟差点我已经安装开始出现异常每个应用创造了很多的问题profiles目录。 在那个时候应该已经响钟。

这个问题是通过关闭文件夹共享,这是不是因为我没有不共享配置文件夹选项那么明显解决,只能添加/删除其他文件夹。

希望我的愚蠢帮助别人那里:)



Answer 6:

我有一个从Visual Studio 2015年,这是对的Visual Studio 2017年开放这是我如何解决它的项目同样的问题:

  1. 从手动删除工具实体框架- > NuGet包管理器 - > 管理的NuGet包从解决方案
  2. 搜索实体框架
  3. 不幸的是,有依赖关系。 所以迫使仅删除实体框架没有根本解决问题。 所以无论依赖关系,从手动上述步骤将其删除。
  4. 最后重新安装实体框架和你可能已经删除任何依赖关系 。 在完成这一点,我没有重新启动我的Visual Studio中,在输入使能的迁移,一切正常了。

分享我的经验,以及,我想这一步:

卸载,包的EntityFramework -Force

然后安装它为每个项目:

安装,包装的EntityFramework

但没有工作对我的一部分。 所以我猜我不得不手动卸载它,包括它的依赖,而不使用武力并重新安装工作。 但庆幸它没有。



文章来源: Exception raised when I'm trying enable migrations in EF 4.3.1