Ошибка С# 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 Active
Есть ли у кого-нибудь идеи, что это значит?
Ответы
Ответ 1
Вы можете найти его здесь
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\Java.Interop.dll
тогда:
- Перейдите в свой проект Android
- Щелкните правой кнопкой мыши по ссылке и выберите "Добавить ссылку"
- Просмотр местоположения файла
- Добавить и сделать
если вы все еще получаете ошибку, попробуйте перестроить проект
Ответ 2
Я получаю ту же ошибку после последнего обновления.
Вам просто нужно добавить ссылку на Java.Interop, чтобы решить проблему.
- Перейдите в свой проект Android
- Щелкните правой кнопкой мыши по ссылке и выберите "Добавить ссылку"
- На сборке найдите Java.Interop и добавьте его
- Перестройте свой проект
Если вам нужны скриншоты, я могу предоставить их позже.
Ответ 3
Вы можете навести курсор на строку нарушения и увидеть пропущенную DLL.
![Линия, жалующаяся на отсутствие ссылки]()
Теперь добавьте недостающую ссылку;
-
Откройте "Обозреватель решений" и щелкните правой кнопкой мыши ссылку "Ссылки" и выберите "Добавить ссылку" ![Добавить Ссылка из Solution Explorer]()
-
В диспетчере ссылок нажмите "Обзор" и "Обзор снова".
![Добавить ссылку]()
-
В диалоговом окне файла скопируйте и вставьте этот путь:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\
![Перейти к пути к DLL]()
Нажмите Java.Interop.dll
![Добавить файл]()
- Хорошо, что диспетчер ссылок
Ответ 4
Вы можете напрямую скопировать сборку Java.Interop.dll
из папки C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0
в bin/Debug
вашего проекта, чтобы решить проблему.
Эта процедура отлично сработала для меня.
Спасибо,
Ответ 5
В моем случае это было немного по-другому, я не мог найти папку моноандроида в
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.
Так что дальше я искал и нашел его в
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid
Это может быть в случае с кем-то еще.
Ответ 6
Эти ошибки не связаны с проблемой с решением или ссылками. Они являются побочным продуктом других изменений, которые, похоже, путают такие инструменты, как ReSharper
. По крайней мере, это правильно в моем случае, мое решение все еще компилируется и функционирует без ручного ссылки на любые ссылочные сборки.
Для этого есть отчет об ошибке Xamarin, но они определили, что это внешняя проблема с ReSharper
в соответствии с моим опытом.
Вместо того, чтобы вручную добавлять ссылки на проект, вы также можете сказать ReSharper просто игнорировать ошибки, открыв:
ReSharper -> Windows -> Solution Errors
И затем проигнорируйте проблемы здесь.
Ответ 7
В моем случае iOS и Android используют кажущийся бизнес-уровень, когда я запускаю мое приложение для Android работает нормально, но когда я запускаю iOS, покажите мне ошибку. Вы должны добавить ссылку на сборку "Java.Interop, Version = 0.1.0.0, Culture = нейтральный, PublicKeyToken = 84e04ff9cfb79065'
Проблема была в том, что я использовал JSONObject от Org.Json
https://docs.microsoft.com/en-us/dotnet/api/org.json.jsonobject?view=xamarin-android-sdk-9
эта длл просто работает с андроидом
Мне нужно изменить для JsonObject из System.Json
https://docs.microsoft.com/en-us/dotnet/api/system.json.jsonobject?view=dotnet-plat-ext-2.1
Это было мое решение, теперь мои два приложения работают