2016-07-05 147 views
1

我想創建一個.net核心應用程序有一個連接到一個SQLite數據庫。.net核心1.0.0與實體框架核心sqlite

我已經對.NET核心SDK 1.0安裝,並已增加了以下的NuGet的程序包到我的項目:

  • Microsoft.EntityFrameworkCore.Sqlite
  • Microsoft.EntityFrameworkCore.Sqlite.Design

我使用以下project.json文件:

{ 
    "version": "1.0.0-*", 
    "buildOptions": { 
    "emitEntryPoint": true 
    }, 

    "dependencies": { 
    "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0", 
    "Microsoft.EntityFrameworkCore.Sqlite.Design": "1.0.0", 
    "Microsoft.NETCore.App": { 
     "type": "platform", 
     "version": "1.0.0" 
    }, 
    }, 

    "tools": { 
    "Microsoft.EntityFrameworkCore.Tools": 
     { 
     "version": "1.0.0-final", 
     "imports": [ 
     "portable-net45+win8+dnxcore50", 
     "portable-net45+win8" 
     ] 
    } 
    }, 

    "frameworks": { 
    "netcoreapp1.0": { 
     "imports": "dnxcore50" 
    } 
    } 
} 

然後,我跑到下面的命令:

dotnet restore 

現在我要檢查,如果EF工具已成功安裝到創建遷移。但是,當我運行:

dotnet ef --help 

我得到以下結果:

The specified framework 'Microsoft.NETCore.App', version '1.0.0-rc2-3002702' was not found. 
    - Check application dependencies and target a framework version installed at: 
     C:\Program Files\dotnet\shared\Microsoft.NETCore.App 
    - The following versions are installed: 
     1.0.0 
    - Alternatively, install the framework version '1.0.0-rc2-3002702'. 

是否有可能installe候選發佈版2與1.0版本一起,我真的不得不這樣做是爲了得到實體框架與.net核心1.0喋喋不休?

+0

您必須更新兩者才能獲得RTM狀態。你不能錯配版本。檢查您的Global.json文件是否有適當的「sdk」:{ – mvermef

回答

0

我發現如何做到這一點。更改基於https://docs.efproject.net/en/latest/miscellaneous/rc2-rtm-upgrade.html

  1. 更改版本的工具1.0.0-preview2決賽
  2. 刪除的框架部分
  3. 進口添加依賴關係Microsoft.EntityFrameworkCore.Design

這裏完整的project.json:

{ 
    "version": "1.0.0-*", 
    "buildOptions": { 
    "emitEntryPoint": true 
    }, 

    "dependencies": { 
    "Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final", 
    "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0", 
    "Microsoft.EntityFrameworkCore.Sqlite.Design": "1.0.0", 
    "Microsoft.NETCore.App": { 
     "type": "platform", 
     "version": "1.0.0" 
    } 
    }, 

    "tools": { 
    "Microsoft.EntityFrameworkCore.Tools": 
     { 
     "version": "1.0.0-preview2-final", 
     "imports": [ 
     "portable-net45+win8+dnxcore50", 
     "portable-net45+win8" 
     ] 
    } 
    }, 

    "frameworks": { 
    "netcoreapp1.0": { 
    } 
    } 
} 

爲了完整起見,這是global.json:

{ 
    "sdk": { 
    "version": "1.0.0-preview2-003121" 
    } 
} 
1

你必須更新兩個才能到達RTM。你不能錯配版本。檢查您的Global.json文件是否存在相應的 "sdk":{ "version" : "1.0.0-preview2-003121" }

+0

感謝您的幫助。 global.json具有正確的版本。但是,我怎樣才能將實體框架更新爲RTM?根據Nuget,我已經有了最新版本。或者我只需要使用更新版本的實體框架工具? –