15

I am building an Android App in Visual Studio. When I try to build the app referencing items in the Resources folder, I get one of two errors.

If I preface "Resource.Layout.[Id]" or "Resource.Id.[Id]" with the namespace for my project, I get this error:

The type or namespace name 'Resource' does not exist in the namespace '[app namespace]' (are you missing an assembly reference?)

If I don't preface the call to Resource with my namespace, it tries to access the default Android.Resource class and I get this error:

'Android.Resource.Layout' does not contain a definition for '[axml file]'

Has anyone run across this error before? I've been searching for a while and cannot come up with anything that seems to be wrong. The Resource.Designer file exists. I've deleted it and let it get regenerated. The Ids are in the Resource file, the project just doesn't recognize that the resource class is there at all.

Originally, the namespace for this application ended in "Android". Thinking that may be part of the issue, I've changed it to "_Android" and "AndroidApp", including changing the default namespace in the project properties and changing the namespace declaration in each file. However, this error persists through each change.

rwakelan
  • 183
  • 2
  • 2
  • 7

5 Answers5

33

This might happen when you add a new file and Visual studio sets it to the wrong build Action. I know this has happened me multiple times and can spend ages trying to figure out what going on. If you right click the file and see the Build action. this should be set to Android Resource. Hope it helps

Screen shot

InitLipton
  • 2,395
  • 5
  • 30
  • 47
  • 1
    add just now, I had to clean the solution, restart visual studio, rebuild the project. and then, finally, my drawable was found. – this.myself Aug 19 '20 at 16:18
12

The namespace in your code and the namespace in solution explorer should be same.

user3674052
  • 133
  • 6
2

The only thing that worked for me was to close VS, completely delete all the bin and obj folders of the project, reopen it, and recompile everything. This was due to some problems when working from Visual Studio Mac and then opening the same project in a Windows computer.

benjamingranados
  • 438
  • 5
  • 15
1

in AndroidManifest.xml make sure that no names depending on other resources which no longer exist for Ex:

android:label="@string/app_name" so we have to go to our resources/string.xml

<resources>
  <string name="app_id">ssss</string>  
</resources>
Abdullah Tahan
  • 1,963
  • 17
  • 28
  • 1
    I tried using your suggestion but couldn't find the problem but I'm sure your answer was my issue. I rebuilt from scratch and instead of copying resources, styles, colors, values...all those particular type files I manually created them one by one, then copied over the code from previous project and my issue went away. – Post Impatica Nov 16 '17 at 16:56
0

I came up to this problem and i solved it so simple:

1- Clean your startup project

2- Build one more time for android.

That's it.

  • 1
    Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Oct 19 '22 at 16:53