Как сослаться на Entity Framework 6 из основной библиотеки классов .NET в RC2?

У меня есть основная библиотека классов .NET, из которой я хочу ссылаться на Entity Framework 6.1.3. Вот мой проект.json:

{
  "version": "1.0.0-*",

  "dependencies": {
    "NETStandard.Library": "1.5.0-rc2-24027",
    "EntityFramework": "6.1.3" 
  },

  "frameworks": {
    "netstandard1.5": {
      "imports": "dnxcore50"
    }
  }
}

Я получаю эту ошибку компиляции:

Зависимость EntityFramework 6.1.3 не поддерживает фреймворк .NETStandard, Version=v1.5.

Поэтому я попытался переключить зависимость NetStandard.Library на Microsoft.NETCore.App следующим образом:

{
  "version": "1.0.0-*",

  "dependencies": {
    "Microsoft.NETCore.App": {
    "version": "1.0.0-rc2-3002702",
    "type": "platform"
    },
    "EntityFramework": "6.1.3"
  },

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

Я получаю аналогичную ошибку компиляции, как и раньше:

Зависимость EntityFramework 6.1.3 не поддерживает фреймворк .NETCoreApp, версия = v1.0

По сути, это не оставляет мне возможности ссылаться на Entity Framework 6.1.3 из ядра .NET.

Я могу сослаться на EF Core из основных библиотек классов .NET, но сейчас я не хочу этого делать.

Есть ли этому решение?


person SirG    schedule 27.05.2016    source источник
comment
.NET core не поддерживает EF 6. Либо переключите платформу на net461 (или аналогичную), либо используйте EF Core. docs.asp.net/en/latest/data/entity- framework-6.html   -  person Steve Greene    schedule 27.05.2016


Ответы (1)


Entity Framework 6.1.3 не поддерживает .NET Core. Это было частью мотивации для создания Entity Framework Core. EF 6 тесно связан с API-интерфейсами в .NET Framework, которые могут не переноситься для использования в .NET Core.

Вы по-прежнему можете использовать EF6 с проектами "project.json", но вам нужно ориентироваться на .NET Framework, а не на .NET Core.

{
    "dependencies": {
        "EntityFramework": "6.1.3"
    },
    "frameworks": {
        "net461": { }
    }
}
person natemcmaster    schedule 27.05.2016
comment
Спасибо! Я приму этот ответ. Еще один вопрос. Что означает NETStandard.Library: 1.5.0-rc2-24027 под зависимостями? И чем он отличается от Microsoft.NETCore.App? - person SirG; 27.05.2016
comment
@SirG NETStandard.Library для (портативных) библиотек, Microsoft.NETCore.App для (.Net Core) приложений. - person svick; 27.05.2016