2017-01-11 72 views
1

我想使用EntityFramework核心使用PM控制檯運行命令添加遷移(代碼第一種方法)。我無法通過此錯誤: 由於未安裝Microsoft.EntityFrameworkCore.Design,無法執行此命令。安裝與安裝的Microsoft.EntityFrameworkCore版本匹配的軟件包版本,然後重試。 這是我project.json文件:未安裝Microsoft.EntityFrameworkCore.Design

{ 
    "dependencies": { 
    "Microsoft.NETCore.App": "1.1.0", 
    "Microsoft.AspNetCore.Mvc": "1.0.1", 
    "Microsoft.AspNetCore.Routing": "1.1.0", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.1", 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", 
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0", 
    "Microsoft.Extensions.Logging": "1.1.0", 
    "Microsoft.Extensions.Logging.Console": "1.0.0", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0", 
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0", 
    "Microsoft.EntityFrameworkCore": "1.1.0", 
    "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0", 
    "Microsoft.EntityFrameworkCore.Design": "1.1.0" 
    }, 
    "tools": { 
    "Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final", 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final" 
    }, 

    "frameworks": { 
    "netcoreapp1.0": { 
     "imports": [ 
     "dotnet5.6", 
     "portable-net45+win8" 
     ] 
    } 
    }, 
    "runtimes": { 
    "win10-x64": {} 
    }, 

    "buildOptions": { 
    "emitEntryPoint": true, 
    "preserveCompilationContext": true 
    }, 

    "runtimeOptions": { 
    "configProperties": { 
     "System.GC.Server": true 
    } 
    }, 

    "publishOptions": { 
    "include": [ 
     "wwwroot", 
     "**/*.cshtml", 
     "appsettings.json", 
     "web.config" 
    ] 
    }, 

    "scripts": { 
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] 
    } 
} 

正如你可以看到我的依賴和工具是1.1.0版本。 這些是我引用: References

事情我已經嘗試:

  • 關閉/重新打開Visual Studio的
  • DOTNET恢復
  • 我的啓動文件已ConfigServices註冊我的連接字符串

我已經安裝了一切,我應該(我知道)。 我也看過StackOverflow上的這個問題的其他職位無濟於事。

任何人都能夠通過這個?我感謝任何幫助。

+0

詳細你試過reinstal對.NET核心SDK? https://www.microsoft.com/net/download/core#/current –

+1

您的目標是'netcoreapp1.0',但您引用''Microsoft.NETCore.App「:」1.1.0「'元數據包。嘗試定位'netcoreapp1.1'或使用舊的meta包 – Tseng

+0

@Tseng我更新了這個。現在我得到這個錯誤:'Add-Migration'不被識別爲一個cmdlet的名字...我關閉並重新打開VS幾次。同樣的錯誤:'Add-Migration'不被識別爲cmdlet的名稱... –

回答

2

首先,netcoreapp1.0"Microsoft.NETCore.App": "1.1.0"秒之間

,你需要Microsoft.EntityFrameworkCore.Tools運行PM-控制檯命令修復不一致。

現有的Microsoft.EntityFrameworkCore.Tools.DotNet適用於dotnet CLI命令。您可以從命令行創建運行dotnet ef migrations add <name>的遷移。有關使用PM和/或CLI is here