【问题标题】:error CS0534: [java class] does not implement inherited abstract member 'AsyncTask.DoInBackground(params Object[])'错误 CS0534:[java 类] 未实现继承的抽象成员 'AsyncTask.DoInBackground(params Object[])'
【发布时间】:2019-06-21 07:17:15
【问题描述】:

在 Visual Studio 2019 中从 aar 文件转换为 dll 文件时出现类似错误。

error CS0534: 'SettingDeviceInfo.GetMoreEngineTask' does not implement inherited abstract member 'AsyncTask.DoInBackground(params Object[])'
error CS0534: 'SubscriptionActivity.GetSettingsTask' does not implement inherited abstract member 'AsyncTask.DoInBackground(params Object[])'
error CS0534: 'SubscriptionAdapter.DeActivateTask' does not implement inherited abstract member 'AsyncTask.DoInBackground(params Object[])'

我尝试安装 Xamarin.Build.AsyncTask NuGet 包,但由于它与该框架不兼容,我无法安装。请帮我解决这个问题。 注意:我已经安装了依赖 NuGet 包,但显示相同的错误。

【问题讨论】:

  • 什么是“aar 到 dll 的转换”?请使用已定义的术语,否则没有人可以帮助您。好像您正在尝试绑定 Android 工件(aar 或 jar)。 Xamarin.Build.AsyncTask 不适用于绑定。简单地添加任何具有相似名称的 nuget 并不能解决您的问题。那是巫毒编程,会引入新问题。

标签: xamarin xamarin.forms xamarin.android


【解决方案1】:

试试这个,把参数的ma​​nagedType改成params Java.Lang.Object [],把方法的ma​​nagedReturn改成Java.Lang.Object。在您的库 - 转换 - Metadata.xml

<attr path="/api/package[@name='package_name']/class[@name='name']/method[@name='method_name' and count(parameter)=1 and parameter[1][@type='parameter_type']]/parameter[1]" name="managedType">params Java.Lang.Object []</attr>
<attr path="/api/package[@name='package_name']/class[@name='name']/method[@name='method_name' and count(parameter)=1 and parameter[1][@type='parameter_type']]" name="managedReturn">Java.Lang.Object</attr>

你可以参考类似的案例:Java bindingdocument

【讨论】:

    猜你喜欢
    • 2017-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多