Given that one of the main points of Xamarin is to be able to link to a cross platform core, I'm finding some conceptual explanatory holes in the idea of linking core files into a project using technique 1. File Linking into each App Project, not to mention some buggy behaviour in this area within Xamarin Studio 4.1.11 alpha. (Since adding files is, unbelievably, actually broken in stable Xamarin Studio as of Sep 17th 2013).
Let's assume that the 'Core' source folder is a physical file system sibling of the iOS (or whatever) project, but not known by the solution. The solution would contain perhaps one, two or three projects wanting to use that Core.
Do I really need to create an empty folder e.g. 'Core' inside my iOS project which has the same name as the e.g. 'Core' root folder containing the files I'm linking to? The official instruction screenshot seems to say that I need to, but...
Alternative method: Interestingly, I seem to be able to right click on project, Add/Add existing Folder... and select the root folder e.g. 'Core' of the folder I'm trying to link to, select 'link' when asked, and the iOS project gets the proper Core folder structure created in the project. Not physically, just in the iOS project. This works.
The CONTRADICTS the advice which suggests (I think) that you physically have to create a folder in your iOS project with the same name as the source Core folder you are linking files out of. Look at the annotations on screenshot in the advice. The example given is Tasky.Core. And the article further suggests that you link files in one by one (using right click on project, Add/Add Files...) - but following this advice results in files being added flat inside your iOS (or whatever) project instead of being nested inside the proper Core folder structure.
In fact, the only time that the nested folder structure is created during a (right click on project, Add/Add Files...) link operation is if the source file is coming from a folder that is physically INSIDE your iOS project. Yet the Xamarin doco talks about putting the Core common code in a sibling folder to your iOS project. If you do that, and link in the files, they come in flat, not inside a Core folder structure. Try it.
To make matters worse Xamarin Studio has bugs in this area. Linking files into your project works, but referring to namespaces defined in those files is a hit and miss affair. Sometimes it works, sometimes the "using namespace_abcd" goes red and Xamarin Studio can't find the namespace even though the file is there and linked into the project. A complete reboot of Xamarin Studio clears the problem. I tried this on a couple of macs, lion and mountain lion, stable Xamarin and alpha.