Xamarin.ios 代码可以在Android和iOS上运行-为什么';我不能把它移到PCL里吗?

Xamarin.ios 代码可以在Android和iOS上运行-为什么';我不能把它移到PCL里吗?,xamarin.ios,xamarin.android,portable-class-library,Xamarin.ios,Xamarin.android,Portable Class Library,我有一个静态类,它使用 System.IO.Path System.IO.Directory System.IO.File 目前,该类在我的iOS项目中,未更改也在我的Android项目中 我创建了一个只针对Android和iOS的PCL 但是,两个名称空间都不可用 我认为这是因为iOS和Android本身不适合PCL配置文件,这就是为什么添加了Windows Store 8或Silverlight 5,并删除了System.IO.*名称空间 这能按设计工作吗?在这种情况下,文件链接是我唯一

我有一个静态类,它使用

  • System.IO.Path
  • System.IO.Directory
  • System.IO.File
目前,该类在我的iOS项目中,未更改也在我的Android项目中

我创建了一个只针对Android和iOS的PCL

但是,两个名称空间都不可用

我认为这是因为iOS和Android本身不适合PCL配置文件,这就是为什么添加了Windows Store 8或Silverlight 5,并删除了System.IO.*名称空间


这能按设计工作吗?在这种情况下,文件链接是我唯一的机会吗?

是的,现在它应该是这样工作的。您可以使用my之类的工具从PCL访问文件系统,也可以简单地使用文件链接


作为补充说明,我建议选择Windows应用商店和.NET 4.5以及Xamarin目标。该配置文件将为您提供比Silverlight 5更多的API,而Silverlight 5是您在该对话框中选择Xamarin平台时默认获得的API。

System.IO.Path、System.IO.Directory和System.IO.File在PCL配置文件中部分受支持,不包括Silverlight 5:WP8+NET4.5+Xamarin+iOS


Path.Combine在这个目标PCL中非常有效。

@Charles为什么要删除Xamarin.Android而添加Monodroid?它们是同义词。请检查我删除的标记的拼写。:)哈哈,听起来像是一个女孩的名字“Xamarion”,极客的女儿。谢谢修复。你的库支持Xamarin吗?在描述中说,如果async/await可用,则计划提供支持。它已经存在一段时间了。@Krumelur它还不支持Xamarin。这并不复杂——基本上是为Xamarin平台重用桌面代码。onovotny有一个拉取请求,它为Xamarin.iOS执行此操作。无论如何,我希望在本月更新它以正式支持iOS和Android。我有.NET 4.5、WP8、Xamarin.Android、Xamarin.iOS和System.IO.*不存在。这是真的。但文件和目录不可用。Path.Combine()是最小的问题。