2015-11-12 17 views
13

ile uyumlu değil Asp.Net 5 projem için Entity Framework 7 ekledikten sonra ilk geçişi gerçekleştirmeye çalışıyorum. Bu documentation takip ediyorum. Bir komut istemi ile proje dizininde aşağıdaki komutu çalıştırmak için çalışılıyorGeçerli çalışma zamanı hedef çerçevesi, proje

"commands": { 
    "web": "Microsoft.AspNet.Server.Kestrel", 
    "ef": "EntityFramework.Commands" 
    }, 

    "frameworks": { 
    "dnxcore50": { } 
    } 

: Benim project.json yılında

Ben belirttiniz

dnx ef migrations add MyFirstMigration 

Ama aşağıdaki hatayı alıyorum:

System.InvalidOperationException: The current runtime target framework is not compatible with ProjectName. The current runtime target framework: 'DNX, Version=v 4.5.1(dnx451) Please make sure the runtime matches a framework specified in project.json.

Garip olan şey benim project.json kesinlikle dnxcore50 hedefliyor. Ben de global.json içinde kontrol ettikten:

{ 
    "projects": [ "src", "test" ], 
    "sdk": { 
    "version": "1.0.0-beta8", 
    "architecture": "x86", 
    "runtime": "coreclr" 
    } 
} 

Ve paketim tüm referans beta8 dependencies:

"dependencies": { 
    "EntityFramework.Commands": "7.0.0-beta8", 
    "EntityFramework.Core": "7.0.0-beta8", 
    "EntityFramework.SqlServer": "7.0.0-beta8", 
    "Hl7.Fhir.DSTU2": "0.90.2", 
    "Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta8", 
    "Microsoft.AspNet.Authentication.OpenIdConnect": "1.0.0-beta8", 
    "Microsoft.AspNet.Diagnostics": "1.0.0-beta8", 
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-beta8", 
    "Microsoft.AspNet.Mvc": "6.0.0-beta8", 
    "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta8", 
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8", 
    "Microsoft.AspNet.StaticFiles": "1.0.0-beta8", 
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-beta8", 
    "Microsoft.Dnx.Runtime": "1.0.0-beta8", 
    "Microsoft.Framework.Configuration.Json": "1.0.0-beta8", 
    "Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta8", 
    "Microsoft.Framework.Logging": "1.0.0-beta8", 
    "Microsoft.Framework.Logging.Console": "1.0.0-beta8", 
    "Microsoft.Framework.Logging.Debug": "1.0.0-beta8", 
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta8" 
    } 

cevap

17

Bir .NET Çekirdek sürümüne projenizin desteklenen çerçeveler dnx451 ekleyebilir veya geçiş yapmak gerek duyarsınız.

"frameworks": { 
    "dnxcore50": { }, 
    "dnx451": { } 
    } 

Ya çalıştırın:

dnvm install latest -r coreclr

veya

dnvm use default -r coreclr

+1

Şimdi çalışıyor neden anlamıyorum. 'Project.json' dosyamda' dnxcore50 'çerçevesini zaten belirmiştim. Ben dnvm son -r coreclr'ı kurdum ve şimdi çalışıyor. Ama neden? Komut, en son temel CLR çalışma zamanını zaten kurduğumu belirtti. –

+1

coreclr yükleme 2 şey yapar. Yükle ve kullan. Bunu açıklamak için yukarıda güncelledim. Gelecekte, hangi çalışma zamanını kullandığınızı görmek için 'dnvm list'ünü çalıştırın. Varsayılan olarak "CLR" sürümü seçilidir, "CoreCLR" değil – natemcmaster

İlgili konular