在向解决方案添加新的Xamarin.Forms PCL时包括Xamarin.iOS

在向解决方案添加新的Xamarin.Forms PCL时包括Xamarin.iOS,ios,xamarin,xamarin.forms,Ios,Xamarin,Xamarin.forms,今天,我在我的Xamarin.Forms解决方案中添加了一个新的Xamarin.Forms可移植类库。该项目包括Xamarin.Forms nuget包和汇编参考;但是,它不包括Xamarin.iOS 我可以理解为什么不包括这一点,因为目前还不清楚这个PCL可能针对哪个平台。我确实进过监狱 ~/Library/Frameworks/Xamarin.iOS.framework/Versions/9.0.1.29/lib/mono/Xamarin.iOS/ 目录并直接添加Xamarin.iOS.d

今天,我在我的Xamarin.Forms解决方案中添加了一个新的Xamarin.Forms可移植类库。该项目包括Xamarin.Forms nuget包和汇编参考;但是,它不包括Xamarin.iOS

我可以理解为什么不包括这一点,因为目前还不清楚这个PCL可能针对哪个平台。我确实进过监狱

~/Library/Frameworks/Xamarin.iOS.framework/Versions/9.0.1.29/lib/mono/Xamarin.iOS/
目录并直接添加Xamarin.iOS.dll程序集。这似乎在调试时起作用;在发布模式下,我有一些奇怪的地方,在DI解析过程中,当需要时,我的PCL库类型找不到。当我更新Xamarin.iOS时,这种方法也会中断,我必须手动更新此程序集引用


有没有一种方法可以添加Xamarin.iOS,而不必在该路径中对该特定版本有硬依赖关系?

我已经从new project->Mobile apps为VS 2013中的Xamarin表单创建了一个新项目。以下是新项目屏幕的屏幕截图:

下面是它为我创建的解决方案的屏幕截图:

所有依赖项都是通过Nuget添加的,并通过相同的更新


如果您在windows中使用Xamarin Studio,则它可能无法为您创建iOS项目

我正在OSX上使用Xamarin Studio。最初的Xamarin.Forms iOS项目是使用Xamarin.iOS程序集创建的。但是,当我创建一个新的Xamarin.Forms PCL时,Xamarin.iOS程序集并未包含在内。NuGet搜索不会在iOS项目中显示任何Xamarin.iOS结果,您应该检查References文件夹,而不是Packages文件夹。如果你还没有Xamarin.iOS参考,请更新Xamarin的最新稳定版本并重新发布。我已经这样做了,参考中仍然没有任何内容。“编辑引用”不会将Xamarin.iOS列为我可以添加的可选程序集。