9

私が持っているいくつかの F# プロジェクトに Entity Framework 6.0.1 をインストールできないようです。これは私が得ているエラーメッセージです:

スクリプト ファイル 'C:\source\payboard\PayboardWeb\packages\EntityFramework.6.0.1\tools\install.ps1' を実行しています。"2" 個の引数を指定して "SetData" を呼び出し中に例外が発生しました: "アセンブリ 'FSharp.ProjectSystem.Base、バージョン = 12.0.0.0、カルチャ = ニュートラル、PublicKeyToken = で 'Microsoft.VisualStudio.FSharp.ProjectSystem.Automation.OAProject' と入力してください。 b03f5f7f11d50a3a' はシリアライズ可能としてマークされていません。" C:\source\payboard\PayboardWeb\packages\EntityFramework.6.0.1\tools\EntityFramework.psm1:633 文字: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# 以外のプロジェクトに問題なくインストールされます。

推奨される回避策はありますか?

4

1 に答える 1

5

これは EF6.1 でブロック解除されています。ワークアイテムはこちら

ここでの問題は EF 自体ではなく、パッケージをプロジェクトに追加する方法であることに注意してください。これにより、EF6.1 がリリースされるまで、パッケージを解凍し、EF6 アセンブリへの参照を手動でプロジェクトに追加することで、この問題を回避できる可能性があると思います。次に、それに応じて構成を更新する必要があります。(一時的な C# プロジェクトを作成して、EF6 NuGet パッケージを追加することもできます。これにより、F# プロジェクトにコピーできる EntityFramework および EntityFramework.SqlServer dll と、コピーできる構成ファイルが提供されます。独自の正しい構成)

于 2014-02-10T19:35:45.413 に答える