2013-01-19 31 views
13

Tôi mới đến MVC 4 và khuôn khổ tổ chức và khi tôi chạy lệnh này từ người quản lý gói giao diện điều khiển:Entity Framework Mã Đầu tiên Migration Lỗi

Enable-Migrations -ContextTypeName MyFirstMvcApp.Models.InventoryDbContext 

Tham-Path: Không thể kết luận để tham số 'con đường' bởi vì nó là null.

tôi nhận được lỗi sau:

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 

Làm thế nào để sửa lỗi này? Lưu ý rằng tôi đang sử dụng Visual Studio 2010 Ultimate với SP1 và tôi đã cài đặt MVC4 trong link này.

Trả lời

28

Sửa lỗi bằng cách gỡ cài đặt và cài đặt lại khung thực thể. Vì lợi ích của người khác, đây là các lệnh ...

Uninstall:

PM> Uninstall-Package EntityFramework -Force

Sau khi gỡ bỏ cài đặt, cài đặt lại EntityFramework:

PM> Install-Package EntityFramework -Pre

Có! Nó đã được sửa. Mặc dù tôi vẫn không biết nguyên nhân gây ra vấn đề.

+1

'PM> Install-Package EntityFramework -Pre -version 5.0.0' cho phiên bản cụ thể – nicemd

+0

một số bình luận: Bạn phải chạy VS của bạn trong chế độ "as Administrator" –

+0

này làm việc cho tôi quá, cảm ơn! –

1

Gỡ cài đặt Entity Framework không hoạt động đối với tôi.

Hóa ra là nó không Visual Studio hoặc Entity Framemwork casuing vấn đề, nhưng nó đã được thực tế tôi đã chạy PowerShell 2 (trên Windows 7).

Entity FrameworkVisual Studio yêu cầu PowerShell 3.

Sau khi cập nhật và khởi động lại, sự cố đã biến mất. Hy vọng điều này sẽ giúp một vài người.

Bạn có thể tìm PowerShell đây ->https://www.microsoft.com/en-us/download/details.aspx?id=40855

0

Trong trường hợp của tôi không ai trong số các giải pháp trên hiệu quả, vì vậy tôi đã có một cái nhìn nhanh chóng trong file packages.config và trước sự ngạc nhiên của tôi tìm thấy hai mục cho Entity Framework

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

Lưu ý rằng chúng là các phiên bản khác nhau, không chắc chắn điều này thực sự có thể xảy ra như thế nào. Dù sao, khi tôi đã xóa tệp cũ hơn khỏi tệp packages.config, tức là kết thúc bằng một tệp packages.config.kết thúc chỉ với một tệp:

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

Sau đó tôi có thể bật-di chuyển không có vấn đề gì.

Các vấn đề liên quan