Подтвердить что ты не робот

Visual Studio 2017 - Xamarin - Файл "obj\Debug\android\bin\packaged_resources" не существует

Я борюсь с этой проблемой уже 2 дня и не могу найти решение.

У меня есть приложение Xamarin для Android в Visual Studio 2017, состоящее из трех проектов:

  • Проект Xamarin.Android(основной)
  • Тестирование на устройстве для Android выполняется на устройстве - проект типа NUnit 3 Test Project (Android), созданный с помощью Шаблоны NUnit для Visual Studio
  • Проект модульных тестов, не зависящих от платформы (проект типа Unit Test Project (.NET Framework))

Все отлично работало до сих пор. Когда я выбрал мой основной проект как Startup, мое приложение было развернуто на устройство/эмулятор. Когда я выбрал проект модульных тестов для Android, тестовый проект был развернут, а модульные тесты выполнялись nUnit Xamarin Runners на устройстве/эмуляторе.

Однако несколько дней назад я обновил свою Visual Studio 2017 с самым новым доступным обновлением и теперь, пытаясь построить этот проект для отдельных модулей для Android, , я получаю следующую ошибку:

The file "obj\Debug\android\bin\packaged_resources" does not exist.

Я искал всюду, включая этот и этот. Я также полностью переустановил Visual Studio 2017 и Xamarin с Android SDK. Ничего не помогло. Из того, что я читал, я подозреваю, что что-то не так с версиями Android SDK Build-tools, которые я установил. Вот то, что я сейчас установил в SDK Manager: введите описание изображения здесь

Как и другие SO-потоки, я попытался удалить новейшие Android SDK Build-tools (25.0.2) и установленную версию 23.0.3 (все мои проекты нацелены на Android 6.0), но это также не помогает, я все же имеют ту же ошибку.

Возможно, стоит добавить, что эта проблема, возможно, возникла, когда я попытался реализовать RecyclerView в своем приложении, где я читал этот учебник, где они предложили для установки Android 7.1.1 (API 25) в SDK Manager. Однако после этого я изменил все свои изменения и даже повторно включил VS2017 + Xamarin.

Есть ли у вас другая идея, почему это может быть? Я бы очень признателен за любую помощь. Спасибо!

EDIT 2017-04-09:

Egh, я удалил VS2017, установил VS2015 с новым Android SDK и все тот же вопрос: (

4b9b3361

Ответ 1

Наконец-то я нашел, в чем проблема. Он не был связан с каким-либо компонентом из SDK Manager или версии VS.

Следуя учебнику по локализации от developer.xamarin.com, я немного поиграл с Strings.xml в своем Android-проекте. Я хотел бы, чтобы моя заметка о работе взята из ресурсов, поэтому в ActivityAttribute я определил:

[Activity(Label = "@string/peopleListTitle")]

и добавил это значение в файл Strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-------Other resources values ----->
    <string name="peopleListTitle">People List</string>
</resources>

В этом случае моя сборка не работает с вышеупомянутой ошибкой:

The file "obj\Debug\android\bin\packaged_resources" does not exist

Когда я изменяю ActivityAttribute, чтобы напрямую использовать строку:

[Activity(Label = "People List")]

сборка проходит без каких-либо проблем.

Мне удалось найти решение, но на самом деле я не знаю, почему он не строится, когда я пытаюсь использовать текст метки, определенный в Strings.xml.

Кстати, мне удалось найти, что проблема, установив многословность вывода сборки в Diagnostic в "Инструменты → Параметры → Проекты и решения → " Сборка и запуск ", которая дает подробную информацию о том, почему сборка не удалась в окне" Вывод ".

Ответ 2

У меня была та же проблема. После удаления знака "-" тире из имени файла изображения проблема решена. Сообщение об ошибке! Это не должно быть:

Файл "obj\Debug\android\bin\packaged_resources" не существует.

Написание сообщения об ошибке, подобное этому, заставляя Разработчика думать о чем-то еще, в то время как проблема является недопустимым именем файла.

Ответ 3

У меня была такая же проблема, когда я добавил новое изображение в качестве ресурса. В имени файла был < - '(символ недопустимого имени ресурса). Я переименовал и удалил этого персонажа и все хорошее. Имя ресурса может состоять только из 0-9, a-z или A-Z или их комбинации.

Ответ 4

У меня была такая же проблема, и я удалил все имена файлов изображений с символом "-". Моя проблема решена.

Ответ 5

Другая причина этой ошибки заключается в том, что у вас может быть число с плавающей запятой в качестве номера версии. В моем случае я сменил его на целое, и все сработало нормально. (Я обнаружил ошибку, переключив вывод сборки на Подробно)

Ответ 6

Просто это сработало.

  • В одном случае я скопировал и вставил предыдущие рабочие "packaged_resources" в папке bin. [проблема заключалась в том, что он не отражал изменения пользовательского интерфейса]
  • Другое Я открыл визуальную студию как администратор.
  • Затем изменилась "Минимальная цель на Android", чтобы опустить apis в окнах свойств проекта.
  • Я предлагаю не трогать код, стоящий за дизайном. Если вы получите эту ошибку, просто вытащите какую-нибудь кнопку с панели инструментов в дизайн, а визуальная студия придет к осознанию того, что в пользовательском интерфейсе есть изменения. Затем нажмите "Сохранить все", чтобы внести необходимые изменения в файл конструктора.

Ответ 7

Mine было другим решением (и только полдня потерялось): у меня возникли проблемы с приложением приложения для хоккея, чтобы он соответствовал сбоям против правильной версии приложения и понял, что использует VersionCode, а не VersionName, поэтому я меняю свой код на "0.0. 34" так же, как и имя. По какой-то еще неизвестной причине приложение построено и развернуто на устройства примерно за 3 дня до того, как я начал получать эту ошибку The file "obj\Debug\android\bin\packaged_resources" does not exist. Вернувшись к числовому значению, исправлена ​​проблема.

Я нашел проблему, просмотрев мои журналы GIT и перестроил каждое нажатие, пока не нашел тот, который вызвал проблему.

Ответ 8

Это просто из-за кода версии, я устанавливаю код "1.0", "obj\Debug\android\bin\packaged_resources" не существует. И я установил его "1", все в порядке.

Ответ 9

Произошла такая же ошибка, как я ее преодолел, она запустила менеджер Android SDK и установила все обновления и удалила устаревшие пакеты. Это произошло со мной, потому что я нацелился на нечто новое, которое не было установлено.

введите описание изображения здесь

Ответ 10

Проверьте, есть ли какие-либо неиспользуемые записи в resources.designer.cs, если есть какие-либо вручную удалить эти записи. Это устранит проблему.

Ответ 11

После нескольких онлайн-предложений - обновление SDK, обновление Xamarin и т.д. - ни один из них не работал у меня.

Наконец, выяснилось, что для Android-провайдера для работы с сигналами будильника в моем файле AndroidManifest, как показано ниже
 <activity 
     android:name="com.njcommuter.droid/android.provider.AlarmClock" 
     android:label="AlarmClock"
     .....
     />

Удаление этой строки - и перестройка отлично работало без каких-либо ошибок и успешно смогло развернуть решение.

Примечание: проверьте это, вернув строку, и я снова получаю ту же ошибку при восстановлении. Он может быть связан с использованием любого поставщика android, который создает для него пакет, а не только AlarmClock.

Ответ 12

Эта ошибка является, в некоторой степени, оболочкой для того, что может быть несколькими причинами того, что файл не был создан. Ключ состоит в том, чтобы просмотреть подробный вывод и найти основную ошибку, приводящую к сбою создания файла.

В моем случае у меня были поврежденные файлы icon.png(сгенерированные прямо из шаблона nunit VS xamarin, не менее!). Как только я ввел в действительные файлы png, все было построено отлично.

Ответ 13

Еще одна причина этой ошибки, если неправильная версия Android NDK (не SDK для Android) неправильная, изменение версии может решить проблему: перейдите в Инструменты/Параметры/Xamarin/android Configurator и измените папку, в моем случае я три, последний не может компилироваться, но вторая папка с версией xx.r11c делает это.

enter image description here

enter image description here

Ответ 14

Для меня это была целевая версия Android. Я установил ее

Compile Version

но сменив его на версию компиляции (для меня это была последняя платформа), она решила проблему.

enter image description here