2013-01-19 14 views
13

私はMVC 4に新たなんだとエンティティフレームワークと私はパッケージマネージャコンソールからこのコマンドを実行すると:Entity Frameworkのコードファーストの移行エラー

Enable-Migrations -ContextTypeName MyFirstMvcApp.Models.InventoryDbContext 

パスに参加:「パス」パラメータの引数をバインドすることはできませんそれはnullです。私はこの問題を解決するにはどうすればよい

Join-Path : Cannot bind argument to parameter 'Path' because it is null. 
At D:\GitProjects\MyFirstMvcApp\trunk\packages\EntityFramework.6.0.0-alpha2\tools\EntityFramework.psm1:363 char:27 
+  $toolsPath = Join-Path <<<< $installPath tools 
    + CategoryInfo   : InvalidData: (:) [Join-Path], ParameterBindingValidationException 
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.JoinPathCommand 

Join-Path : Cannot bind argument to parameter 'Path' because it is null. 
At D:\GitProjects\MyFirstMvcApp\trunk\packages\EntityFramework.6.0.0-alpha2\tools\EntityFramework.psm1:392 char:73 
+  $utilityAssembly = [System.Reflection.Assembly]::LoadFrom((Join-Path <<<< $toolsPath EntityFramework.PowerShell.Utility.dll)) 
    + CategoryInfo   : InvalidData: (:) [Join-Path], ParameterBindingValidationException 
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.JoinPathCommand 

You cannot call a method on a null-valued expression. 
At D:\GitProjects\MyFirstMvcApp\trunk\packages\EntityFramework.6.0.0-alpha2\tools\EntityFramework.psm1:393 char:50 
+  $dispatcher = $utilityAssembly.CreateInstance <<<< (
    + CategoryInfo   : InvalidOperation: (CreateInstance:String) [], RuntimeException 
    + FullyQualifiedErrorId : InvokeMethodOnNull 

Join-Path : Cannot bind argument to parameter 'Path' because it is null. 
At D:\GitProjects\MyFirstMvcApp\trunk\packages\EntityFramework.6.0.0-alpha2\tools\EntityFramework.psm1:426 char:19 
+   (Join-Path <<<< $runner.ToolsPath EntityFramework.PowerShell.dll), 
    + CategoryInfo   : InvalidData: (:) [Join-Path], ParameterBindingValidationException 
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.JoinPathCommand 

は、私は次のエラーを取得しますか? 私はVisual Studio 2010 Ultimate SP1を使用していて、このlinkにMVC4をインストールしていることに注意してください。

答えて

28

エンティティフレームワークをアンインストールして再インストールすることで修正されました。 他人の利益のために、ここでのコマンドがある...

アンインストール:

PM> Uninstall-Package EntityFramework -Force

アンインストールした後、EntityFrameworkを再インストールします。

あり

PM> Install-Package EntityFramework -Pre

!修正されました。私はまだ問題の原因を知りませんが。

+1

特定のバージョン – nicemd

+0

いくつかのコメントのための 'PM>インストール・パッケージEntityFramework -pre -Version 5.0.0' :あなたは、「管理者として」モードであなたのVSを実行する必要があります –

+0

これはあまりにも私のために働いた、ありがとう! –

1

Entity Frameworkをアンインストールしても機能しませんでした。

それが問題をcasuing Visual StudioEntity Framemworkではなかったことが判明し、それは私が(Windows 7上)PowerShell 2を実行していたという事実でした。

Entity FrameworkおよびVisual Studioは、PowerShell 3が必要です。

アップデートと再起動後、問題はなくなりました。 うまくいけば、これはいくつかの人々に役立つでしょう。

あなたはここにPowerShellを見つけることができます - >https://www.microsoft.com/en-us/download/details.aspx?id=40855

0

を私の場合は上記の解決策のどれも働いていないので、私はpackages.configファイルで簡単に見ていたし、私の驚きにEntity Frameworkの

のための2つのエントリを見つけました
<package id="EntityFramework" version="6.1.1" targetFramework="net45" /> 
<package id="EntityFramework" version="6.1.3" targetFramework="net45" /> 

これらは異なるバージョンであり、どのように実際にこの現象が起こるかはわかりません。とにかく、一度私は、すなわちpackages.configファイルから1古いが、この1つだけになってしまった削除:

<package id="EntityFramework" version="6.1.3" targetFramework="net45" /> 

私は、問題なく、マイグレーションを可能にすることができます。

関連する問題