如何修复 Xamarin Android:不支持 Mono Shared MonoRuntime

How to fix Xamarin Android: Mono Shared MonoRuntime is not supported

当我部署(或存档)我的 Xamarin.Android 应用程序并尝试在 UI 测试中使用 .APK 文件时,我遇到了这个错误。我的配置正是发布版本应有的配置。 (请阅读到最后)

System.Exception : Mono Shared Runtime is not supported. This can be resolved by changing the project configuration or using a Release build.

堆栈跟踪

ApkFile.EnsureNoSharedRuntime()
AndroidAppInitializer.PrepareApkFiles(IAndroidAppConfiguration appConfiguration, ArtifactFolder artifactFolder)
AndroidApp.ctor(IAndroidAppConfiguration appConfiguration, IExecutor executor)
AndroidAppConfigurator.StartApp(AppDataMode appDataMode)
AppInitializer.StartApp(Platform platform)
Tests.BeforeEachTest()

AndroidManifest.xml

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>portable</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release</OutputPath>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <AndroidManagedSymbols>true</AndroidManagedSymbols>
    <AndroidUseSharedRuntime>false</AndroidUseSharedRuntime>
    <AotAssemblies>false</AotAssemblies>
    <EnableLLVM>false</EnableLLVM>
    <AndroidEnableProfiledAot>true</AndroidEnableProfiledAot>
    <BundleAssemblies>false</BundleAssemblies>
    <EmbedAssembliesIntoApk>true</EmbedAssembliesIntoApk>
    <AndroidSupportedAbis />
</PropertyGroup>

荒谬 我看到关于这个的问题在 5 年前就出现了,而且很多都没有答案。如果有人知道解决此问题的方法,请帮助我和其他遇到此问题的人。

我真的用 VS2022 创建了一个全新的项目,甚至在发布配置上。此错误仍然显示在模拟设备和物理设备上。

更新:构建项目并使用 Azure Devops 签名时,.APK 文件可用于 UITest。我确信这是一个 Visual Studio APK 部署问题。

我们之前遇到过类似的问题,您可以尝试以下方法:

1.in释放模式,请务必取消勾选use Fast Deployment(debug mode only);

2.make 一定要把你的nuget更新到最新的,旧的Nuget有这个问题;

3.If问题依然存在,您可以尝试以下解决方法:设置

 <AndroidUseAssemblyStore>false</AndroidUseAssemblyStore>

在您使用的配置中 Xamarin.UITest。

4.try删除您应用中的 obj 和 bin 文件夹,然后重试。