Reputation: 1048
I don't know exactly if it is a bug but i am getting all the time runtime IOException error saying Cannot locate resource.
I am loading some images in my app (c#, WPF) in canvas background depends on database state. The problem is, that i cannot load LAST (alphabeting sorted) file. I have for example 15 images in folder. I can load 14 first without problems. But the last one all the time throw exception.
I am 100% sure, that i HAVE the image in the folder (see !image-printscreen below). And how i wrote. 14 first i can load without any problem, only the last one throw exception.
Is it a bug in WPF-c# or am I doing something wrong?
code what is throwing exception:
canvas_status.Background = new ImageBrush(new BitmapImage(new Uri(BaseUriHelper.GetBaseUri(this), @"Images\" + statusName + ".png")));
canvas_name.Background = new ImageBrush(new BitmapImage(new Uri(BaseUriHelper.GetBaseUri(this), @"Images\" + statusName + bulheadName + ".png")));
error:
IOException was unhalded
Cannot locate resource 'view/images/panel_uzavreno_d.png'.
image (for higher resolution click on image right mouse button and click on SHOW IMAGE or something like that):
Upvotes: 11
Views: 28885
Reputation: 18567
You need to set the build action of the image to the type 'Resource'.
Right-mouse click on the file >> Properties >> set 'Build Action' to 'Resource'
Upvotes: 26
Reputation: 967
I've had a similar issue: IOException, cannot locate a png resource which indeed existed in the assembly.
I found the solution by explicitly specifying the assembly name, even though the caller was in the same assembly as the resource.
Here's how it looks with a Pack URI syntax:
pack://application:,,,/MyAssemblyName;component/MyResourcesFolder/MyImage.png
(For more about Pack URIs see http://msdn.microsoft.com/en-us/library/aa970069.aspx)
Edit: One more thing I had to do after specifying the assembly name was to Clean the project. The problem returns after build but was resolved after cleaning the intermediate products. This is definitely a bug in Visual Studio.
Upvotes: 38