-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Description
I have a NuGet package that needs to ship a native library via the runtimes/<RID>/native
mechanism, and I need to vary the library by linux distro due to the dependencies it has, OpenSSL being the primary one.
I want to be able to run on all of the supported linux distros listed here, but while testing them, I've noticed that when running dotnet --info
, some of them show a specific RID, while others just have linux-x64
listed as the RID. This makes it impossible to ensure the correct version of the library will be chosen.
If I understand the dotnet CLI code correctly, it appears that the reason some of them are falling back to the generic RID is because the runtime.json file hasn't been updated for them.
Here is the list of distros I have tested so far, and the RIDs that are displayed via dotnet --info
:
- CentOS 7 (centos.7-x64)
- Fedora 25 (fedora.25-x64)
- Fedora 26 (fedora.26-x64)
- Debian 9 (linux-x64)
- Ubuntu 14.04 (ubuntu.14.04-x64)
- Ubuntu 16.04 (ubuntu.16.04-x64)
- Ubuntu 17.04 (linux-x64)
- Linux Mint 18.2 (linux-x64)
- openSUSE 42.2 (linux-x64)
Was this just an oversight, or is this an intentional change to stop updating this file? If it was intentional, can you explain the reasoning?
I can't just ship a single library using the linux-x64
RID because, for example, I need to compile a separate library for Debian and openSUSE. Right now, it appears that I don't have a way to do that.