Referencing mscorlib 4.0.0.0 from .NET Core 1.0 class library

后端 未结 2 869
一向
一向 2020-12-19 01:58

I have a .NET Core 1.0 class library which targets .NET 4.6.1 and references the .NET Standard Library 1.6.0 and Identity Framework 2.2.1

project.json

相关标签:
2条回答
  • 2020-12-19 02:29

    Microsoft has a nuget package that can help. I don't know the specifics of how it works but it resolved my dependency issues:

    https://www.nuget.org/packages/Microsoft.NETCore.Portable.Compatibility/

    Or simply run this in the package manager console:

    Install-Package Microsoft.NETCore.Portable.Compatibility -Version 1.0.1
    

    edit: This was added to a .net core 1.1 project.

    0 讨论(0)
  • 2020-12-19 02:33

    There are two problems with your project file here, one simple to fix, one impossible to fix ;)

    • Your project does not target net461 and netstandard1.6. What your project.json says is: Build target for netstandard1.6 and lie to NuGet and claim you are net461 (that lying is what import does ... do not believe me, look it up ;)). And since your project.json lied to NuGet, you where able to add Microsoft.AspNet.Identity.EntityFramework. Adding net461 and netstandard1.6 in parallel will not help you either because you cannot add the dependency then.
    • The NuGet dependency Microsoft.AspNet.Identity.EntityFramework is released in 2015 and based on the .NET Framework (mscorlib based) and not on .NET Standard / .NET Core (System.Runtime based). The lying does not help about the fact that the dependency is based on mscorlib and not System.Runtime.

    What you could try, is targeting (correctly) in parallel net461 and netstandard1.6 and try to do a parallel implementation with Microsoft.AspNet.Identity.EntityFramework and Microsoft.AspNetCore.Identity.EntityFrameworkCore respectively using #ifdefs. However, how useful the result would be, I have no idea for what the resulting library would be used ;)

    0 讨论(0)
提交回复
热议问题