I am trying to release my library ( lz4net ) for .NET Core. The library "architecture" is slightly different from the "normal" one, as it contains several assemblies, but only one should be referenced, others only its dependencies. However, they are not separate packages.
So, the assembly LZ4.dllshould be indicated by the application, and LZ4pn.dllshould not, it should be there, since the LZ4.dll(main) can use it. `LZ4pn.dll 'cannot be used on its own, therefore it will not be released as a separate package.
It seems to work fine: net2, net4 and pcl, but netcore does not "see" LZ4pn.dllif the application is not referring to it.
NOTE. I checked and C:\Users\xxx\nuget\packages\lz4net\1.0.11.93\lib\netstandard1.6(after installing .nupkg) contain both assemblies.
So, LZ4pn.netit is not in the section <references>, since it should not refer to the application directly. This is not in the section <dependencies>, as it is not an external dependency that needs to be separately downloaded. It is located there - in the netstandard1.6subfolder of the package nuget..NET Framework (2+) works fine, but .NET Core does not detect this assembly.
Any help? Perhaps you know an open source package that uses the same approach (packages with multiple assemblies that only reference the top assembly)?
source
share