目录类未显示在使用 xamarin 的可移植类库 (PCL) 中

本文关键字:类库 可移植 PCL xamarin 显示 | 更新日期: 2023-09-27 18:31:45

我正在创建一个移动Android应用程序,并将所有与gui无关的逻辑放在可移植的类库(PCL)中。在该库中,我正在尝试执行以下操作

if (!Directory.Exists(path)) {
    Directory.CreateDirectory (path);
}

构建时,编译器说即使我导入命名空间(使用 System.IO)并检查引用是否存在,也找不到 Directory 类,在 .Net 可移植子集中。

我尝试在安卓项目上做同样的事情,它工作正常。

目录类未显示在使用 xamarin 的可移植类库 (PCL) 中

目标包括Windows Phone

(这是Xamarin iOS/Android PCL的默认配置文件)的PCL将不包括 System.IO 类,因为Windows Phone不支持直接文件IO。

正如杰森指出的那样,我试图做的事情不受支持。从我所看到的,我必须选择:

  • 使用 android 类库项目而不是 PCL
  • 在库中创建一个抽象,并在 android/ios 项目中派生该抽象。

最后,我决定进行第一个 aproach,因为我的项目仅限 android。