I have a solution with a bunch of Xamarin.Forms cross-platform apps. I'm in the middle of a refactoring where I'm migrating things to Nuget PackageReferences. While doing so I encountered a few problems with portable app projects that referenced Xamarin.Forms, so I decided to uninstall the package from these apps and re-install it, then everything worked perfectly. While doing so, however, I realized that if I didn't reinstall Xamarin.Forms on the portable app package, things would still compile and work.
Can someone please explain to me how it's possible that a C# project that contains Xamarin.Forms code in it doesn't need to have a reference to the Xamarin.Forms package to compile? And does this have to do with Nuget PackageReferences?