Библиотека классов ASPNET5 выдает текущую целевую платформу среды выполнения, несовместимую с «‹ProjectName›»

Я хотел, чтобы EntityFramework работал внутри отдельного проекта библиотеки классов (с именем AbsenceRequests.Data.EF), чтобы его можно было поддерживать отдельно.

Я столкнулся с некоторыми проблемами с системой project.json, в настоящее время это выглядит так:

{
  "version": "1.0.0-*",
  "description": "AbsenceRequests.Data.EF Class Library",
  "authors": [ "authorName" ],
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",
  "frameworks": {    
    "netcore50": {
      "dependencies": {
        "Microsoft.CSharp": "4.0.1-beta-23516",
        "System.Collections": "4.0.11-beta-23516",
        "System.Linq": "4.0.1-beta-23516",
        "System.Runtime": "4.0.21-beta-23516",
        "System.Threading": "4.0.11-beta-23516"
      }
    }
  },
  "dependencies": {
    "EntityFramework.Commands": "7.0.0-rc1-final",
    "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final"
  }
}

Когда я запускаю dnx ef в командной строке, я получаю следующую ошибку:

C:\...\AbsenceRequests\AbsenceRequests.Data.EF>dnx ef
System.InvalidOperationException: The current runtime target framework is not compatible with 'AbsenceRequests.Data.EF'.
Current runtime target framework: 'DNX,Version=v4.5.1 (dnx451)'
 Version:      1.0.0-rc1-16202
 Type:         Clr
 Architecture: x86
 OS Name:      Windows
 OS Version:   6.1
 Runtime Id:   win7-x86

Please make sure the runtime matches a framework specified in project.json
   bij Microsoft.Dnx.ApplicationHost.DefaultHost.GetEntryPoint(String applicatio
nName)
   bij Microsoft.Dnx.ApplicationHost.Program.ExecuteMain(DefaultHost host, Strin
g applicationName, String[] args)
   bij Microsoft.Dnx.ApplicationHost.Program.Main(String[] args)
--- Einde van stacktracering vanaf vorige locatie waar uitzondering is opgetrede
n ---
   bij System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   bij Microsoft.Dnx.Runtime.Common.EntryPointExecutor.Execute(Assembly assembly
, String[] args, IServiceProvider serviceProvider)
   bij Microsoft.Dnx.Host.Bootstrapper.RunAsync(List`1 args, IRuntimeEnvironment
 env, String appBase, FrameworkName targetFramework)
   bij Microsoft.Dnx.Host.RuntimeBootstrapper.ExecuteAsync(String[] args, Bootst
rapperContext bootstrapperContext)
   bij Microsoft.Dnx.Host.RuntimeBootstrapper.Execute(String[] args, Bootstrappe
rContext bootstrapperContext)

Когда я использую обычный веб-проект (даже с нуля), это работает хорошо. Но с проектом библиотеки классов это не работает. Любые идеи? Что я делаю не так?

Спасибо, Ив.


person Yves Schelpe    schedule 18.01.2016    source источник


Ответы (1)


Я сам столкнулся с этой проблемой, я решил, добавив следующее в project.json.

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

Это было установлено на net451, когда я первоначально создал проект библиотеки классов и изменил его на dnx451. Поэтому убедитесь, что он знает, какие версии каких фреймворков должен использовать этот проект.

person Gavin Lanata    schedule 06.02.2016