从NuGet获取EF 6以在F#项目上安装

Ken*_*ith 9 f# entity-framework nuget visual-studio-2013

我似乎无法在我拥有的几个F#项目上安装Entity Framework 6.0.1.这是我收到的错误消息:

执行脚本文件'C:\ source\payboard\PayboardWeb\packages\EntityFramework.6.0.1\tools\install.ps1'.使用"2"参数调用"SetData"的异常:"在程序集中键入'Microsoft.VisualStudio.FSharp.ProjectSystem.Automation.OAProject''FSharp.ProjectSystem.Base,Version = 12.0.0.0,Culture = neutral,PublicKeyToken = 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.Mitrations.MigrationsDomainCommand.Execute(Action命令)中的System.Data.Entity.ConnectionFactoryConfig.InitializeEntityFrameworkCommand.Execute()

在EF6论坛(https://entityframework.codeplex.com/workitem/891)上似乎有一个开放的bug ,但据我所知,它没有得到任何爱.

EF6在非F#项目上安装得很好.

任何建议的解决方法?

Paw*_*wel 5

这在EF6.1中被解除阻止.是工作项目.

请注意,此处的问题不是EF本身,而是如何将包添加到项目中.这让我想到,在EF6.1发布之前,您可以通过解压缩包并手动向项目添加对EF6程序集的引用来解决此问题.然后你必须相应地更新你的配置.(你也可以创建一个临时C#项目添加EF6 NuGet包,它将为你提供你可以复制到你的F#项目的EntityFramework和EntityFramework.SqlServer dll,以及你可以从中复制的配置文件比使用它更容易自己正确的配置)