WPF - Image „nu face parte din proiect sau Acțiunea sa Build nu este setat pentru a resurselor“

voturi
30

Am un proiect care necesită o imagine în fereastră. Aceasta este o imagine statică și am adăugat prin „Add> Existing Item“. Ea există în rădăcina proiectului.

Am referință imaginea într-o pagină de test, astfel cum ar fi -

<Page x:Class=Critter.Pages.Test
      xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation
      xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml
      Title=Test>
      <Image Source=bug.png/>
</Page>

Problema este ca eu primesc un mesaj spunând că nu poate fi găsit sau este construit de acțiune nu este o resursă, dar există și este construit de acțiune este o resursă. Dacă am crea o nouă aplicație și doar să-l arunca pe o fereastră, atunci funcționează bine.

Orice ajutor ar fi grozav.

Întrebat 12/03/2009 la 13:26
sursa de către utilizator
În alte limbi...                            


10 răspunsuri

voturi
31

Incearca sa faci reconstrui un plin, sau șterge fișierele de a construi și de a construi apoi fișierul.

Visual Studio nu alege întotdeauna modificări la resurse, și poate fi o durere să-l recompilați.

De asemenea, încercați să utilizați un URI plin ca asta ma ajutat atunci când am avut aceeași problemă. Ceva asemănător cu

pack://application:,,,/MyAssembly;component/bug.png
Publicat 12/03/2009 la 15:03
sursa de către utilizator

voturi
15

Am avut aceeași problemă. Curățarea și refacerea soluției nu a rezolvat problema, așa că am repornit Visual Studio și a făcut-o. Iată în speranța Visual 2010 stabilește această problemă și multe altele care plauge WPF în Visual 2008.

Publicat 30/09/2009 la 09:21
sursa de către utilizator

voturi
2

Ea nu, sau cel puțin beta actual nu. Am găsit această pagină în timp ce caută în exact aceeași problemă. Rebuild / curat nu a făcut nimic. După închiderea și reîncărcarea soluției fișierul magic a devenit din nou compatibil.

Publicat 11/10/2009 la 18:40
sursa de către utilizator

voturi
1

Exemplu de încărcare asincronă, o altă opțiune. Exemplul clip.mp4 este în rădăcina proiect web.

void Landing_Loaded(object sender, RoutedEventArgs e)
{
    //Load video async

    Uri pageUri = HtmlPage.Document.DocumentUri;
    Uri videoUri = new UriBuilder(pageUri.Scheme, pageUri.Host, pageUri.Port, "clip.mp4").Uri;           

    WebClient webClient = new WebClient();
    webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);
    webClient.OpenReadAsync(videoUri);
}

void webClient_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
    byte[] VideoBuffer = new byte[e.Result.Length];
    e.Result.Read(VideoBuffer, 0, (int)e.Result.Length);
    MemoryStream videoStream = new MemoryStream(VideoBuffer);
    ContentVideo.SetSource(videoStream);
    ContentVideo.Stop();
    ContentVideo.Play();
}
Publicat 19/03/2010 la 15:42
sursa de către utilizator

voturi
0

Am avut o problemă similară. După ce am șters un someStyle.xamlfișier pe care nu a fost într - adevăr folosind din soluție Explorer. Apoi am restaurat dosarul, dar nici o schimbare sa întâmplat. Curățarea și refacerea proiectului nu a ajutat.

Pur și simplu ștergerea rândului corespunzător:

<ResourceDictionary Source="someStyle.xaml"/> 

a făcut truc.

Publicat 26/12/2010 la 14:29
sursa de către utilizator

voturi
17

-> click dreapta pe fișierul de imagine -> Faceți clic pe proprietate -> Selectați Acțiune Generare pentru Resurse -> Clean and Build soluție -> Run soluția pe care o va primi toate

se bucura

Publicat 07/07/2011 la 06:06
sursa de către utilizator

voturi
12

Încercați să porniți calea imaginii cu un „/“:

<Image Source="/bug.png"/>
Publicat 02/03/2012 la 14:41
sursa de către utilizator

voturi
3

Există o soluție la întrebarea dvs.

<Image Source="/WpfApplication4;component/images/sky.jpg" />

„Componentă“ nu este un folder!

Publicat 13/05/2012 la 10:16
sursa de către utilizator

voturi
0

Am avut același mesaj de eroare, dar problemele mele a fost o simplă greșeală NOOB.

Când am adăugat fișierele mele ICO la „Proiectul meu / resurse“, VS a făcut un dosar sub-numit Resurse și am încercat să folosească;

<Window Icon="icons1.ico">

când ar fi fost folosind;

<Window Icon="Resources/icons1.ico">

... nu judeca, am început să folosesc WPF 1 săptămână în urmă :)

Publicat 06/02/2013 la 07:11
sursa de către utilizator

voturi
1

Am confruntat cu aceeași problemă, dar exact VS2008 sau curățare în cazul relansării și refacerea proiectului nu a funcționat pentru mine. În cele din urmă, pașii de mai jos au făcut truc.

  • În Windows Explorer copiați imaginea în proiectul folderul de resurse. Exemplu: MyProject \ Resurse \
  • Din cadrul Visual Studio click dreapta pe resursele și selectați „Add> Element existent“ și selectați imaginea pe care tocmai ați copiat în
  • Din cadrul formularului XAML stabilit sursa de imagine ca: "Source="Resources/MyImage.ico"(imaginea mea a fost salvată ca fișier pictograma (ICO), dar această abordare ar trebui să funcționeze pentru orice tip de imagine

Sper că acest lucru ajută cineva

Publicat 05/09/2014 la 09:34
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more