如何将class库项目添加到Uno-Platform?

How to add class library project to Uno-Platform?

我的目标是将一些 c# 代码作为单独的项目添加到 Uno 平台应用程序的现有解决方案中。

我正在使用 Visual Studio 2019。如果我尝试将新项目添加到解决方案并使用 Uno Platform Library 模板,我会收到此编译错误:

Error   XA5207  Could not find android.jar for API level 30. This means the Android SDK platform for API level 30 is not installed. Either install it in the Android SDK Manager (Tools > Android > Android SDK Manager...), or change the Xamarin.Android project to target an API version that is installed.

说明很清楚。但是我的目标是支持较低的 API 级别 - 29。但是我找不到更改 Xamarin.Android API 版本的地方。无法在项目属性中更改它 - 它只是不存在。(在最初的 Uno-plaform Android 项目中,我确实将 API 级别设置为 29)。

我想我为 uno-platform 使用了正确的模板。我在哪里设置 API 级别?

要修复 Visual Studio 中的问题,请双击库项目以便您可以编辑 Proj 文件。

TargetFrameworks 中查找 MonoAndroid11.0 并将其删除。

确保您的项目 TargetFrameworks 包含 monoandroid10.0,因为 Android 10 (Api 29) 需要它。

希望对您有所帮助。-

作为对@pinedax 答案的补充——您可以将 Android API 级别 30 作为目标,同时保持对较低 API 的支持。目标版本是您编译的版本,但最低支持版本(在 Android 项目的属性中找到)标记您测试的 Android 的最低版本。只要您不使用全新的 APIs,该应用程序 运行 就可以在旧版本上运行。