I have Android app (UI layer) which is works perfectly with .NET libraries (BL layer). UI layer implements BL interface.
Now I want to create XamarinForms app with PCL. But it is not possible to reference my other solution's projects there:
Portable Library projects can only reference other Portable Library projects and assemblies.
What is workaround for this? Is there any way to develop XamarinForms cross platform app using .NET libraries?
No, you can't build Xamarin cross platform app using .Net libraries only. PCLs are tied with a specific "profile". This profile is provided by Microsoft and it defines the specific APIs it can use on every targetted framework without having to recompile.
For your info, here's a list of some existing profiles as of VS2015 update 3: link.
An important thing to note is that the more platforms you choose, the less APIs you will be able to use! I.e. in PCLs you are not able to direclty create a StreamReader
from a string filename. So:
var reader = new System.IO.StreamReader(filename);
Will not work in a PCL! For such cases, you will need to implement some abstractions in any way.
You can try to convert your existing .Net assembly to a PCL (or to a .Net Standard library). That's the only way you'll be able to reference your library from your PCL.