Visual Studio 2017 - Xamarin - The file "obj\Debug\android\bin\packaged_resources" does not exist

Dawid Sibiński picture Dawid Sibiński · Apr 8, 2017 · Viewed 17.2k times · Source

I'm fighting with that issue for 2 days already and can't find any solution.

I have an Xamarin Android app in Visual Studio 2017 consisting of three projects:

  1. Xamarin.Android project (main one)
  2. Android-specific unit tests run on the device - project of type NUnit 3 Test Project (Android) created using NUnit Templates for Visual Studio
  3. Platform-independent unit tests project (project of type Unit Test Project (.NET Framework))

Everything worked just fine until now. When I selected my main project as the Startup one, my app was deployed to the device/emulator. When I selected my Android-specific unit tests project, the test project was deployed and unit tests executed by nUnit Xamarin Runners on the device/emulator.

However few days ago I updated my Visual Studio 2017 with the newest available update and now, when trying to build this android-specific unit tests project I get the following error:

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

I've searched everywhere, including this and this SO topics. I also totally reinstalled Visual Studio 2017 and Xamarin with Android SDK included. Nothing helped. From what I read I suspect there is something wrong with the versions of Android SDK Build-tools I have installed. Here's what I have currently installed in SDK Manager: enter image description here

As the other SO threads suggested, I tried uninstalling the newest Android SDK Build-tools (25.0.2) and installed version 23.0.3 (all my projects target Android 6.0), but it also doesn't help, I still have the same error.

Maybe it's worth adding that this issue may have started to happen when I tried to implement RecyclerView in my app reading this tutorial, where they suggested to install Android 7.1.1 (API 25) in SDK Manager. However I undoed my all changes after that and even reintalled VS2017 + Xamarin.

Do you have any other idea why this can be ? I'd really appreciate any help. Thanks!

EDIT 2017-04-09:

Egh, I removed VS2017, installed VS2015 with brand new Android SDK and still the same issue :(

Answer

Dawid Sibiński picture Dawid Sibiński · Apr 9, 2017

I've finally found what was the issue. It wasn't related to any component from SDK Manager or VS version.

Following localization tutorial from developer.xamarin.com, I played a bit with Strings.xml in my Android project. I wanted to have my Activities Label taken from resources as well, so in the ActivityAttribute I defined:

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

and added this value in Strings.xml file:

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

In that case my build is failing with above-mentioned error:

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

When I change ActivityAttribute to use a string directly:

[Activity(Label = "People List")]

the build is passing without any issues.

I managed to find a solution, but actually I don't know why it's not building when I try to use Label text defined in Strings.xml.

BTW, I managed to find what's the problem by setting build output verbosity to Diagnostic in Tools -> Options -> Projects and Solutions -> Build and Run which gives a detailed info why the build failed in the Output window.