From this point of view, a portable class library is simply a library that is compiled against a set of portable link assemblies, rather than an implementation or reference assembly for a particular structure.
You can see the path to the PCL link assemblies, if you create the PCL in Visual Studio, select the ".NET Portable Subset" link in the solution explorer and look at the Path property in the properties window. (The path will differ depending on which set of platforms you are targeting in PCL).
Set the links that the compiler will use for all DLLs in the PCL link path, and the result should be a portable library. If there are links that are enabled by default (i.e. Mscorlib), you also need to disable them.
source share