I've been reviewing the code for NuGet3 on GitHub, and I see several folder patterns in https://github.com/NuGet/NuGet3/blob/a5bc907d36ddaa8d4fa6c499e50d7ebf8993ed39/src/NuGet.Client/ManagedCodeConventions.cs related to expected folder structures within a NuGet package. However, I'm having a hard time finding any examples of these - specifically the rid and tfm values.
How can I know all the possible values for rid and tfm? I know they mean Runtime Identifier and Target Framework Moniker, but I don't really know what to do with that.
The documentation that I've seen never seems to deal with the topic directly or exhaustively.
The target frameworks are currently hard coded within the NuGet source code. Whilst some of the target frameworks are documented on the NuGet website there are many which are not documented there. So as Jeff R already mentioned the best way to find the target frameworks is currently to look at the NuGet source code.
NuGet also has short identifiers for some of these frameworks (e.g. wp = WindowsPhone).
The runtime identifiers defined by Microsoft are available in the Microsoft.NETCore.Platforms NuGet package. Inside this NuGet package is a runtime.json file with the runtime identifiers: