C#Xamarin Java.Interop错误?

您好,自上次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有效

有谁知道这意味着什么?

你可以在这里找到它

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

然后 :

  1. 转到您的Android项目
  2. 右键单击参考并选择“添加参考”
  3. 浏览文件位置
  4. 添加完成

如果仍然出现错误,请尝试重建项目

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

  1. 转到您的Android项目
  2. 右键单击参考并选择“添加参考”
  3. 在Assembly上,查找Java.Interop并添加它
  4. 重建您的项目

如果你需要一些截图,我可以稍后提供。

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

线抱怨缺少参考

现在添加缺少的引用;

  1. 打开Solution Explorer,在References中右键单击,然后选择Add Reference 从Solution Explorer添加引用

  2. 在Reference Manager中单击“浏览”,然后再次“浏览”。 添加参考

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

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

转到DLL路径

单击Java.Interop.dll

添加文件

  1. 好的参考经理

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

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

谢谢,

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

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

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

 ReSharper -> Windows -> Solution Errors 

然后忽略这里的问题。

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

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

所以我进一步搜索并发现了它

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

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