C#Xamarin Java.Interop错误?

时间:2016-06-13 11:13:39

标签: java c# xamarin

自上次Xamarin update以来我们得到此error

  

CS0012类型' IJavaPeerable'在未引用的程序集中定义。您必须添加对程序集的引用" Java.Interop,Version = 0.1.0.0,Culture = neutral,PublicKeyToken = 84e04ff9cfb79065'。 ImageLibrary C:\ Users \ rutge \ Source \ Repos \ GarderobeApp \ ImageSwiper \ ImageSwiper.cs 33 Active

有人知道这意味着什么吗?

8 个答案:

答案 0 :(得分:26)

你可以在这里找到它

  

C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework \ MonoAndroid \ v1.0 \ Java.Interop.dll

然后:

  1. 转到Android项目
  2. 右键单击参考并选择“添加参考”
  3. 浏览文件位置
  4. 添加完成
  5. 如果仍然出现错误,请尝试重建项目

答案 1 :(得分:7)

我在上次更新后发出同样的错误。 您只需添加对Java.Interop的引用即可解决问题。

  1. 转到Android项目
  2. 右键单击参考并选择"添加参考"
  3. 在Assembly上,查找Java.Interop并添加它
  4. 重建您的项目
  5. 如果您需要一些屏幕截图,我可以稍后再提供。

答案 2 :(得分:2)

您可以将鼠标悬停在违规行上并查看丢失的DLL。

Line complaining about missing reference

现在添加缺少的引用;

  1. 打开解决方案资源管理器,在“参考”中右键单击,然后选择添加参考 Add Reference from Solution Explorer

  2. 在参考管理器中,单击“浏览”,然后再次“浏览”。 Add reference

  3. 在文件对话框中复制并粘贴此路径:

    C:\ Program Files(x86)\ Reference Assemblies \ Microsoft \ Framework \ MonoAndroid \ v1.0 \

  4. Go to DLL path

    单击Java.Interop.dll

    Add file

    1. 好的参考经理

答案 3 :(得分:1)

您可以直接将程序集Java.Interop.dllC:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0复制到项目的bin/Debug文件夹,以解决问题。

这个程序对我来说非常有用。

谢谢,

答案 4 :(得分:1)

在我的情况下,它有点不同,我无法找到monoandroid文件夹

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework. 

所以我进一步搜索并在

中找到它
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid

其他人可能就是这种情况。

答案 5 :(得分:0)

这些错误不是由于解决方案或引用的问题。它们是其他变化的副产品,似乎混淆了ReSharper等工具。至少在我的情况下这是正确的,我的解决方案仍然可以编译和运行,无需手动引用任何参考装配。

有一个Xamarin错误报告,但他们根据我的经验确定这是ReSharper的外部问题。

不是手动添加对项目的引用,您还可以通过打开来告诉ReSharper简单地忽略错误:

ReSharper -> Windows -> Solution Errors

然后忽略这里的问题。

答案 6 :(得分:0)

在我的情况下,当我运行我的android应用程序时,iOS和Android使用似乎是业务层的工作正常,但是当我运行iOS时,显示错误您必须添加对程序集'Java.Interop,Version = 0.1.0.0,Culture的引用= neutral,PublicKeyToken = 84e04ff9cfb79065'

问题:我正在使用Org.Json的JSONObject

https://docs.microsoft.com/en-us/dotnet/api/org.json.jsonobject?view=xamarin-android-sdk-9

此dll仅适用于android

我需要从System.Json中更改JsonObject

https://docs.microsoft.com/en-us/dotnet/api/system.json.jsonobject?view=dotnet-plat-ext-2.1

那是我的解决方案,现在我的两个应用程序都可以工作

答案 7 :(得分:0)

如果仍然找不到Java.Interop,请在C:驱动器内的搜索栏中搜索“ Java.Interop”,并将其添加为对项目的引用。