Overload resolution failed because no accessible 'Image' is most specific for these arguments

James Buss 136 Reputation points
2026-07-18T15:41:30.97+00:00

My app has a bunch of buttons. The images on the button were added by importing an image to the Resources. I added a TableAdapter through the DataSet Designer. Now when I go to open the Form Designer it fails to load with this error:The designer cannot process unknown name 'Image' at line 625. The code within the method 'InitializeComponent' is generated by the designer and should not be manually modified. Please remove any changes and try opening the designer again.

In MainForm.Designer.vb there is the same error for each button on the Image property, which says:

Overload resolution failed because no accessible 'Folder_New_48' is most specific for these arguments

Folder_New_48 is properly defined in Resources.Designer.vb.

What happened? And how do I fix this?

Developer technologies | Windows Forms

1 answer

Sort by: Most helpful
  1. Jay Pham (WICLOUD CORPORATION) 3,905 Reputation points Microsoft External Staff Moderator
    2026-07-20T08:03:32.22+00:00

    Hi @James Buss ,

    You've actually already spotted the real culprit yourself. That second Resources1.Designer.vb file is the whole problem. Both it and the original Resources.Designer.vb are generating their properties into the same My.Resources namespace, so every image (Folder_New_48 and the rest) ends up defined twice. When the compiler hits the line in MainForm.Designer.vb that sets a button's Image, it sees two identical Folder_New_48 members and can't decide which one to use, hence the "Overload resolution failed... is most specific" error. And since the designer file no longer compiles cleanly, the Form Designer just throws up its hands with that "cannot process unknown name 'Image'" message. So the designer error is really just a side effect of the duplicate resource class.

    As for how it snuck in: adding the TableAdapter made Visual Studio re-run its "make sure the default project resources exist" step, it didn't recognize your existing My Project\Resources.resx, and quietly added a duplicate (Resources1.resx) wired up with the same custom tool and namespace. That .resx is what keeps regenerating Resources1.Designer.vb on you, which is why deleting the generated file alone never sticks. You have to remove the source .resx, not the generated output.

    Here's the clean way to get rid of it for good:

    1. Close Visual Studio first, so nothing regenerates mid-edit.
    2. In Solution Explorer, turn on Show All Files and find Resources1.resx (usually at the project root or under My Project). It'll contain the same images as your real one.
    3. As long as your original My Project\Resources.resx still has all your images (it almost certainly does), delete both Resources1.resx and Resources1.Designer.vb. If for some reason the images only live in the duplicate, copy them back into the original first, then delete the pair.
    4. Open the .vbproj in a text editor and remove any leftover entries pointing at Resources1.resx / Resources1.Designer.vb. You want exactly one EmbeddedResource (the original) generating into My.Resources.
    5. Delete the bin and obj folders to clear out any stale build artifacts.
    6. Reopen the project, do a Clean Solution, then a Rebuild. With only one Folder_New_48 in scope now, the designer file compiles and the Form Designer opens right up.

    One tip to keep it from happening again: only ever let a single .resx generate into the My.Resources namespace. If you deliberately add another resource file down the road, give it its own Custom Tool Namespace so the names can't collide.

    Hope this helps. If you found my response helpful or informative, I would greatly appreciate it if you could follow this guidance or provide feedback.

    Thank you. 

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.