C# Xamarin Java.Interop error?

前端 未结 8 1851
一向
一向 2021-02-07 17:08

Hello since the last Xamarin update we get this error.

CS0012 The type \'IJavaPeerable\' is defined in an assembly that is not r

相关标签:
8条回答
  • 2021-02-07 17:49

    In my case it was a bit different, I couldn't find monoandroid folder in

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

    So on further I searched and found it in

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

    This might be the case with someone else.

    0 讨论(0)
  • 2021-02-07 17:52

    These errors are not due to a problem with the solution or the references. They are a by-product of other changes that seem to confuse tools like ReSharper. At least this is correct in my case, my solution still compiles and functions without manually referencing any Reference Assemblies.

    There is a Xamarin bug report for this but they determined this to be an external issue with ReSharper as per my experience.

    Rather than manually adding references to the project you can also tell ReSharper to simply ignore the errors by opening:

    ReSharper -> Windows -> Solution Errors
    

    And then ignoring the issues here.

    0 讨论(0)
  • 2021-02-07 17:58

    You can found it here

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

    then :

    1. Go to your Android project
    2. Right Click in reference and choose "Add Reference"
    3. Browse file location
    4. Add and done

    if you still get error, try to rebuild your project

    0 讨论(0)
  • 2021-02-07 18:00

    If you still can't find Java.Interop, then search for "Java.Interop" in your search bar inside C: drive and add it as a reference to your project.

    0 讨论(0)
  • 2021-02-07 18:03

    In my case iOS and Android use the seem Business Layer when I run my android application works ok but when I run iOS show me the error You must add a reference to assembly 'Java.Interop, Version=0.1.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065'

    The problem: I was using JSONObject from Org.Json

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

    this dll just work with android

    I need change for JsonObject from System.Json

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

    That was my solution, now my two applications work

    0 讨论(0)
  • 2021-02-07 18:06

    I go the same error after the last update. You just have to add the reference to Java.Interop to resolve the problem.

    1. Go to your Android project
    2. Right Click in reference and choose "Add Reference"
    3. On Assembly, look for Java.Interop and add it
    4. Rebuild your project

    If you need some screenshots, I can provide them later.

    0 讨论(0)
提交回复
热议问题