There is no Link from the usual value of adding a link to a project from a common project .
There is a definite opportunity for the Joint Project , which will be opened further than at the present time, but it is not there, and this is by design at present, although it restricts it in some way.
In short, Common Projects do not have generated outputs. This is from other projects that reference the Common project (s) that generates compiled outputs - based on any conditional compilation symbols that you may have indicated.
To add references to sqlite , you need to use NuGet to add packages to your solution.
These NuGet packages will also install and create the appropriate library links for the specific platform for each platform you are targeting.
If you look at your specific projects on the platform, you will see the treeview node deploy when you add the NuGet package and install it in these projects with library outputs suitable for the package.
You can then create the Common Project code for these NuGet packages that your projects reference.
Update 1: -
If you added a package from NuGet , most of the things should fit perfectly together, unless it contains any platform-specific materials.
If there is functionality specific to a particular platform; or for a library that is added directly to a platform-oriented project, then you can use the conditional #if operators in the Collaborative project to access these platform-specific differences.
Update 2: -
Example: -
1) You have projects Common project and Android , iOS and WindowsPhone that link this common project .
2) Create a new new WindowsPhone class library project .
3) Add the following class to it: -
public class MyWindowsPhoneClass1 { public string SayHello() { return "Hello"; } }
4) In your WindowsPhone platform-specific project, add a Link (in this case, a link to the solution, since it is part of the same solution), the new WindowsPhone class library project created in step 2.
5) Enter the following code in some function in the General project : -
PhoneClassLibrary1.MyWindowsPhoneClass1 o; o = new PhoneClassLibrary1.MyWindowsPhoneClass1(); string strResponse = o.SayHello();
and compile.
You will notice that you will receive compilation errors for iOS and Android since PhoneClassLibrary1 was not found.
But....
If you now change the code to: -
#if WINDOWS_PHONE PhoneClassLibrary1.MyWindowsPhoneClass1 o; o = new PhoneClassLibrary1.MyWindowsPhoneClass1(); string strResponse = o.SayHello(); #endif
You will see that your project now compiles on ALL 3 platforms due to the use of conditional #if operators .