2016-07-08 2 views
24

Мы используем пример «Добро пожаловать в Xamarin» на Visual Studio Enterprise с использованием новейшего Xamarin в среде Windows 8.1.System.ObjectModel Warning Xamarin не работает на Android

Мы можем создавать и запускать как в Windows, так и в Apple, но перед нами стоят проблемы с Android.

Ошибка: по ссылке компонент System.ObjectModel не может быть найден.

Ошибки можно увидеть на скриншоте ниже:

See screenshot

Мы уже пытались поиска в Интернете для решения, мы нашли некоторые, которые мы пытались, но безуспешно.

С другой стороны, Xamarin совместим с Windows 8.1? Возможно, для некоторых требований Android требуется среда Windows 10.

Любая помощь будет оценена по достоинству.

+6

Пожалуйста, не оставляйте ошибок как скриншоты - они не индексируются поисковыми системами. Потратьте время, чтобы опубликовать текст сообщения об ошибке. – Jason

+1

Xamarin и Visual Studio настолько разочаровывают. Совершенно новое решение, обновить формы xamarin, и из коробки вы получите это предупреждение. Мне буквально пришлось вручную разрешить эту ссылку, добавив dll из: C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ MonoAndroid \ v1.0 \ Facades \ System.ObjectModel.dll. Я очень задумываюсь о том, чтобы попробовать Xamarin ... –

+0

@ Джейсон Мне не хватает папки MonoAndroid, я пропустил какой-то шаг где-то? –

ответ

18

Щелкните правой кнопкой мыши на ссылках на ваш проект Android и вручную добавьте ссылку: C: \ Program Files (x86) \ Reference Assemblies \ Microsoft \ Framework \ MonoAndroid \ v1.0 \ Facades \ System.ObjectModel.dll. И технически это предупреждение, а не ошибка.

+0

Я делаю это, но я предупреждение все еще там. – Jon

+0

@Jon убедитесь, что путь к dll правильный и читаемый (разрешения безопасности). Если это не удается, посмотрите на свой .csproj, который ищет недействительные пути к любым пакетам nuget. Я думаю, что думаю, что вы полностью обновлены (VS, Xamarin, Xamarin Studio на вашем Mac, все).Я давно не видел эту ошибку. –

+1

У меня обновлены VS и Xamarin, папка «Фасады» и «System.ObjectModel.dll» устарели и запущены. И в файле .csproj отсутствуют недопустимые пути. – Jon

13

Я просто удалил ссылку полностью, так как ни один из моих кодов фактически не использовал ее.

+0

Как известно другим, эта DLL содержит такие интерфейсы, как INotifyPropertyChanged и ICommand, поэтому я не могу ее удалить. – Helzgate

+3

@Helzgate Вы можете удалить его из своего проекта Xamarin.Android, если вы не используете 'INotifyPropertyChanged' и' ICommand' в своем проекте Xamarin.Android, которого у меня нет. Я использую только эти классы в своем проекте PCL и удаляю его из моего проекта Xamarin.Android до сих пор не было плохих последствий. – hvaughan3

0

Попробуйте переместить его на рабочий стол, а затем добавьте его как ref в решении. работала для меня, визуальная студия имела доступ ко всем другим ref, но по какой-то причине dident имеет доступ к этому конкретному ref. Поэтому я переместил его, и я думаю, что он дал визуальный доступ студии. просто попробуйте переместить его, когда доступ не будет проблемой.

+0

Вы должны объяснить, почему это поможет, а не просто сказать им, что делать. – Adam

0

Скопируйте dll и вставьте в папку с папками. Измените ссылку на новое местоположение и запустите проект. Конечно, это временное решение. Вы можете проверить другое местоположение пути без пробелов в имени папок. ovee

4

В пакете типа менеджер консоли: (Выберите Android проект)

update-package -reinstall 

медленнее, но это правильный метод и всегда работает

+1

Это лучший ответ. Другие ответы - обходные пути. Это решение. – Dpedrinha

+1

Я пробовал это, и это не исправить проблему, возможно, поэтому голоса не согласны с комментарием @ Dpedrinha. –

Смежные вопросы