【发布时间】:2022-07-26 05:10:08
【问题描述】:
我正在尝试创建一个具有平台相关部分的 Maui 类库。 在 Android 的类库平台部分中,我添加了 Android 代码,但是当我编译时它告诉我它找不到 Android 命名空间。我已经根据编译 Android 的主程序检查了 Nuget 包,并且相同。我已经卸载了主项目和类库,并相互检查了项目代码,几乎相同。我能发现编译 Android 的主项目之间的唯一区别是类库有一个额外的 net6.0 依赖项。
【问题讨论】:
-
所以您比较了
.csprojs 中的内容?如果它们相同,那么以下内容应该是一致的 - 但无论如何我都会提到:解决方案资源管理器/yourproject/properties/目标框架,列表是否包括net6.0-android? /构建/常规/条件编译符号显示Debug & net6.0-android的条目? -
是的。即使作为独立解决方案(不是主程序的一部分),我也尝试多次创建类库,并且我一直得到相同的结果。我只是不会接受 Xamarin Android 代码。一直告诉我没有 Android 命名空间。
-
我发现在编译器指令中使用语句和特定于平台的代码包装解决了这个问题:
#if ANDROID\n using Android.Content;\n using MobileApp.Platforms.Android;\n #endif
标签: class-library maui