Ссылка на mscorlib 4.0.0.0 from.NET библиотека классов Core 1.0
У меня есть библиотека классов .NET Core 1.0, которая нацелена на .NET 4.6.1 и ссылается на стандартную библиотеку .NET 1.6.0 и Identity Framework 2.2.1
.в JSON
{
"version": "1.0.0-*",
"dependencies": {
"Microsoft.AspNet.Identity.EntityFramework": "2.2.1",
"System.Runtime": "4.1.0",
"NETStandard.Library": "1.6.0"
},
"frameworks": {
"netstandard1.6": {
"imports": [
"net461"
]
}
}
}
в моем проекте я просто создаю модели удостоверений, которые расширяют базовые модели структуры удостоверений (пользователь, роль и т. д.). Когда я пытаюсь скомпилировать, это происходит...
любые идеи как это решить?
2 ответов
здесь две проблемы с файлом проекта, Один простой в исправлении, один невозможно исправить;)
- проект не цель
net461
иnetstandard1.6
. Какой ваш проект.json говорит: построить цель дляnetstandard1.6
и лгать NuGet и утверждают, что выnet461
(Это ложь, чтоimport
делает ... не верьте мне, посмотрите его;)). И после твоего проекта.json солгал NuGet, вы где можете добавитьMicrosoft.AspNet.Identity.EntityFramework
. Добавлениеnet461
иnetstandard1.6
параллельно вам это тоже не поможет, потому что вы не можете добавить зависимость. - зависимость NuGet
Microsoft.AspNet.Identity.EntityFramework
выпущен в 2015 году и на основе .NET Framework (на основе mscorlib) и не на .NET Standard / .NET Core (System.Во время выполнения на основе). Ложь не помогает о том, что зависимость основана наmscorlib
, а неSystem.Runtime
.
что вы могли бы попробовать, это таргетинг (правильно) параллельно net461
и netstandard1.6
и попробуйте сделать параллель реализация с Microsoft.AspNet.Identity.EntityFramework
и Microsoft.AspNetCore.Identity.EntityFrameworkCore
соответственно, используя #ifdefs. Однако, насколько полезным будет результат, я понятия не имею, для чего будет использоваться результирующая библиотека;)
Microsoft имеет пакет nuget, который может помочь. Я не знаю особенностей того, как это работает, но он решил мои проблемы с зависимостями:
https://www.nuget.org/packages/Microsoft.NETCore.Portable.Compatibility/
или просто запустите это в консоли диспетчера пакетов:
Install-Package Microsoft.NETCore.Portable.Compatibility -Version 1.0.1
изменить: Это было добавлено в проект .net core 1.1.