.Net Core and .Net 4.0 have different main libraries. The System.Object type from older .Net libraries is defined in mscorlib , which is not explicitly referenced.
If you reference this library, you are likely to get a name resolution error, because the same types will be defined in the same namespaces and with the same type names in different libraries. So yes, this is not allowed.
Edit: However, there is a general approach known as the Shared project , you can read about it here . Also this question may be useful for you:
.net core classlibrary calls .net class class library
You can also try creating a portable class library that can be referenced either from the .Net Core and .Net 4.6 libraries.
Portable class libraries are great when your shared code is platform independent, and also for reusable libraries where specific platform code can be accounted for.
Edit # 2: As @EricErhardt mentioned, you can recompile your .Net 4.6 library with different targeting, which may not be an option if you don't have source code.
VMAtm source share