错误 CS0234:命名空间“Xamarin.Essentials”中不存在类型或命名空间名称“Platform”

Bra*_*ick 3 .net xamarin.android xamarin xamarin.essentials

更新到 Xamarin.Essentials v1.8.0 时,我的 Android 构建失败并出现以下错误:

error CS0234: The type or namespace name 'Platform' does not exist in the namespace 'Xamarin.Essentials' 
Run Code Online (Sandbox Code Playgroud)

我检查了Xamarin.Essentials 源代码并确认该类Xamarin.Essentials.Platform仍然存在。

我唯一更改的是将 Xamarin.Essentials NuGet 包从 v1.7.7 更新到 v1.8.0。这不是一个主要版本,因此我的应用程序不应该有任何重大更改。Xamarin.Essentials 的此构建/版本有问题吗?

Bra*_*ick 14

解释

Xamarin.Essentials v1.8.0 的发行说明中,他们提到它现在针对的是 Android 33:

@jfversluis 在#2087中以 MonoAndroid13.0 为目标

解决方案

这意味着要使用 Xamarin.Essentials,您现在需要在 Xamarin.Android 应用程序中针对 Android API 33,并且我们必须更新两个文件才能解决此问题:

Xamarin.Android CSPROJ

csprojAnrdoid 应用程序的文件(通常名为*.Droid.csproj*.Android.csproj)中,将 更新<TargetFrameworkVersion>v13.0

<TargetFrameworkVersion>v13.0</TargetFrameworkVersion>
Run Code Online (Sandbox Code Playgroud)

AndroidManifest.xml

AndroidManifest.xml(又名 Android 清单)中,更新android:targetSdkVersion"33"

<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="33" />
Run Code Online (Sandbox Code Playgroud)