Ответ 1
Я полагаю, что причина вашей проблемы носит чисто технический характер. Объявление объявляет переименование dnx451 в net451 и dnxcore50 на dotnet5.4, но рекомендуется использовать такое переименование только для библиотек классов (который вы публикуете на NuGet, например, чтобы поделиться с другими). Если я правильно вас понимаю, вы разрабатываете приложение, которое использует библиотеки классов, и поэтому вы должны использовать dnxcore50
вместо dotnet5.4
. Таким образом, вам нужно просто переименовать строку "dotnet5.4" в строку "dnxcore50" in the file
project.json`, чтобы исправить проблему.
Независимо от приведенной выше рекомендации, я хочу добавить свое понимание вашей проблемы, почему вы получили сообщение об ошибке EntityFramework.Command 7.0.0-rc1.
Я понимаю переименование фреймворков как шаг в направлении будущих изменений, которые планируют Microsoft. С другой стороны, все имена фреймворков будут интерпретироваться как разные имена. Я предлагаю вам сравнить информацию о зависимостях, отображаемых на странице https://www.nuget.org/packages/EntityFramework.Commands/7.0.0-rc1-final из соответствующей информации из https://www.nuget.org/packages/EntityFramework.MicrosoftSqlServer/7.0.0-rc1-final. Зависимости EntityFramework.MicrosoftSqlServer
(которые не имеют проблем с использованием dotnet5.4
) выглядят как на картинке
Я отметил прочитанную часть, ответственную за dotnet5.4
. С другой стороны зависимости EntityFramework.Commands
выглядят как на рисунке ниже:
где нет раздела ".NETPlatform 5.4", который соответствует новому имени dotnet5.4
.
Я полагаю, что ошибка части project.json
EntityFramework.Commands
:
"netcore50": {
"bin": {
"assembly": "lib\\netcore50\\_._"
}
}
Я полагаю, что в строках необходимо изменить netcore50
на dotnet5.4
, чтобы правильно поддерживать новое имя фрейма dotnet5.4
. Один из них может заменить содержимое "netcore50"
на копию с dnxcore50
(см. строки):
"dotnet5.4": {
"dependencies": {
"Microsoft.AspNet.Hosting.Abstractions": "1.0.0-*",
"Microsoft.Dnx.Runtime": "1.0.0-*",
"Microsoft.Extensions.CommandLineUtils.Sources": {
"version": "1.0.0-*",
"type": "build"
},
"Microsoft.Extensions.PlatformAbstractions": "1.0.0-*",
"System.Console": "4.0.0-*",
"System.IO.FileSystem": "4.0.1-*"
}
}
Вероятно, нужно увеличить количество версий DLL, упомянутых выше, но вы по-прежнему не сможете использовать EntityFramework.Commands
в разделе "dotnet5.4"
до публикации новой фиксированной версии.
ОБНОВЛЕНО: Я поставил проблему в команду разработчиков EntityFramework. Я буду включать ответ от Microsoft по этому вопросу после того, как я его получу.