当您使用ExportAttribute或ExportFieldAttribute时,需要添加对Mono.Android.Export.Dll的引用。

62
我的代码运行得很好,但是当我向项目中添加了一个新的命名空间片段后,我开始出现以下错误:

当您使用ExportAttribute或ExportFieldAttribute时,您需要添加对Mono.Android.Export.Dll的引用

我在网上搜索了一些内容,并找到了几个提到取消链接程序集的地方,但我也读到说这会导致其他错误。有人知道如何解决这个错误吗?
6个回答

135

我找到了答案。右键单击“引用”并搜索“导出”。只需将Mono.Android.Export添加到您的项目中即可。


26
这并没有确切回答为什么需要以及它的作用是什么。 - Matti Virkkunen
3
为了澄清,它被称为“Mono.Android.Export” DLL。 - 93Ramadan
更多澄清,请右键单击“引用”,然后单击“添加引用”。搜索栏位于表单的右上角。有关屏幕截图,请参见@Arun的答案。 - Albert

51

在此输入图片描述 我像 @Jeremy 说的那样增加了引用,它可以工作。


在我的Visual Studio 2017中,我正在针对MonoAndroid 5.0进行开发,并且我只看到一个来自7.1的Mono.Android.Export.dll。我能否在任何地方找到旧版本的Mono.Android.Export.dll进行下载? - Lupu Silviu
@LupuSilviu 通常所有的dll都可以单独下载。请尝试搜索它。 - Arun Prasad E S

15

如果你正在使用JetBrains Rider,你可以通过在你的Android .csproj文件中添加Mono.Android.Export引用来解决这个问题:

<!-- ExampleApp.Android.csproj -->
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    ...
    <ItemGroup>
        <Reference Include="Mono.Android" />
        <Reference Include="Mono.Android.Export" />
    </ItemGroup>
    ...
</Project>

3

如果您在引用管理器中找不到dll文件,也不需要从网上下载。

只需要按照以下步骤操作:

  1. 将目标框架设置为Android 4.4 kit kat
  2. 添加引用mono.android.expert.dll
  3. 将targetFramework设置为最新的好的目标框架

清理解决方案并重新构建即可。

希望能对您有所帮助。


0

如果您正在使用VS 2022(例如@Siddhant maurya):

  • 右键单击出现错误的项目的“引用”文件夹。
  • 选择“添加项目引用”。
  • 在“全部”选项卡中选择“Mono.Android.Export”。
  • 按“选择”按钮。
  • (可选)关闭VS 2022并打开资源管理器(Windows)或查找器(MacOS),以删除解决方案中每个项目的“bin”和“obj”文件夹。
  • (可选重新打开VS 2022)重新构建解决方案。

0

我在针对Android 13的定位上遇到了同样的问题。请有人提供一些解决方案,我们卡在这里了。

由于Firebase通知在Android 13上无法工作,我已将所有nuget包更新到最新版本,之后我遇到了这个问题。

我正在使用VS 2022版本17.5.4

错误信息

5>C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(1509,3): error XA4210: Please add a reference to Mono.Android.Export.dll when using ExportAttribute or ExportFieldAttribute.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接