我似乎无法在我拥有的几个F#项目上安装Entity Framework 6.0.1。这是我得到的错误消息:
执行脚本文件' C:\ source \ payboard \ PayboardWeb \ packages \ EntityFramework.6.0.1 \ tools \ install.ps1'。 异常调用" SetData"用" 2"参数:" Type' Microsoft.VisualStudio.FSharp.ProjectSystem.Automation.OAProject'在汇编' FSharp.ProjectSystem.Base,Version = 12.0.0.0,Culture = neutral, 公钥= b03f5f7f11d50a3a'没有标记为可序列化。" 在C:\ source \ payboard \ PayboardWeb \ packages \ EntityFramework.6.0.1 \ tools \ EntityFramework.psm1:633 char:5 + $ domain.SetData(' project',$ Project) + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:NotSpecified:(:) [],MethodInvocationException + FullyQualifiedErrorId:SerializationException
System.NullReferenceException:未将对象引用设置为对象的实例。 在System.Data.Entity.ConnectionFactoryConfig.InitializeEntityFrameworkCommand.Execute() 在System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(操作命令)
在EF6论坛(https://entityframework.codeplex.com/workitem/891)上似乎有一个公开的错误,但据我所知,它还没有得到任何爱。
EF6在非F#项目上安装得很好。
任何建议的解决方法?
答案 0 :(得分:5)
这在EF6.1中被解除阻止。 Here是工作项目。
请注意,此处的问题不是EF本身,而是如何将程序包添加到项目中。这让我想到,在EF6.1发布之前,您可以通过解压缩包并手动向项目添加对EF6程序集的引用来解决此问题。然后你必须相应地更新你的配置。 (你也可以创建一个临时C#项目添加EF6 NuGet包,它将为你提供你可以复制到你的F#项目的EntityFramework和EntityFramework.SqlServer dll,以及你可以从中复制的配置文件比使用它更容易正确的配置)