Notice (2018-05-24): bugzilla.xamarin.com is now in
Please join us on
Visual Studio Developer Community and in the
Mono organizations on
GitHub to continue tracking issues. Bugzilla will remain
available for reference in read-only mode. We will continue to work
on open Bugzilla bugs, copy them to the new locations
as needed for follow-up, and add the new items under Related
Our sincere thanks to everyone who has contributed on this bug
tracker over the years. Thanks also for your understanding as we
make these adjustments and improvements for the future.
Please create a new report on
Developer Community or GitHub with
your current version information, steps to reproduce, and relevant error
messages or log files if you are hitting an issue that looks similar to
this resolved bug and you do not yet see a matching new report.
When a component is installed into a project from the Component Store, the DLLs in the pcl folder are not added as reference to the project.
On the Xamarin Component Submission Guide ( https://developer.xamarin.com/guides/cross-platform/advanced/submitting_components/component_submission_guide/), it says
"You can specify libraries for each platform using the following specifiers, with the path to the dll as the value.
However this is not the case with pcl.
Here is the response from Xamarin support (edited for brevity)
Unfortunately, as it stands, the IDE doesn't process the "pcl" library folder when adding a component which is why they are not being attached.
This is something we are looking into but in the short term you have two choices.
1) Add the PCL library, Worklight.Core.dll in this case, to both the android and ios library folders. This will mean a duplication of the files, but i is the easiest route.
2) Use nuget for the libraries. This will allow you to package the files specifically for each platform including the pcl's. The details on how to do this can be found here - https://developer.xamarin.com/guides/cross-platform/advanced/submitting_components/components_and_nuget.
Currently Xamarin Components do support a PCL directory but it is called "mobile" not "pcl". The documentation is incorrect.
However the logic is similar to NuGet so you would not get both assemblies referenced if they are in two different lib folders. Only the nearest match to the project's target framework would be used.
Component has just a PCL:
This will be referenced when the component is installed into an iOS or Android project or a Windows Phone project.
Component has a PCL and iOS:
Installing the above into an iOS unified project would reference the MyIOS.dll only. Installing it into an Android project would reference the MyPcl.dll.