Uso le immagini su alcuni dei miei pulsanti e non voglio che queste immagini siano incluse nell'output.Azione di creazione immagine: differenza tra None e Embedded Resource?
Queste immagini sono impostate tramite le proprietà dei pulsanti, quindi sono definite nel file Resource.resx.
Mi è stato detto di impostare Build Action su Embedded Resource, ma sono curioso di sapere perché questo faccia la differenza. Ho l'azione di compilazione impostata su "Nessuno" in questo momento e nessuno dei file è impostato per la copia. E posso spostare l'applicazione costruita ovunque e avviarla e tutte le immagini mostrano bene. (Giusto per chiarire, le immagini non sono sicuramente nella directory del programma al momento del lancio, e appaiono ancora bene).
Ho cercato sul MSDN e ha ottenuto questo:
Nessuno - Il file non è incluso nel gruppo di output del progetto e non è compilato nel processo di generazione. Un esempio è un file di testo che contiene la documentazione , ad esempio un file Leggimi.
Risorsa incorporata - Questo file è incorporato nell'output di generazione del progetto principale come DLL o eseguibile. Lo standard viene in genere utilizzato per i file di risorse.
Ma da questo sembra che averli tutti impostati su Nessuno non dovrebbe nemmeno funzionare (ma lo è).
Quindi sono curioso di sapere quale vantaggio lo offre a Embedded Resource. L'ho provato e non c'era differenza. Speravo che qualcuno potesse spiegare cosa sta succedendo.
L'unica supposizione è che quando si imposta la proprietà dell'immagine tramite il pulsante e la voce viene aggiunta al file di risorse, non è in alcun modo collegata al file aggiunto al progetto (anche se sono uguali). Pertanto, se si imposta la proprietà dell'immagine in questo modo, non è necessario includere le immagini nel progetto (ad esempio in Solution Explorer).
Grazie!
Grazie. Questo è quello di cui ero confuso. Nella mia testa quando stavo impostando la sorgente dell'immagine tutto ciò che stava facendo era mappare dove l'immagine sarebbe stata quando il programma è stato lanciato. Non stavo afferrando cosa è successo quando è stato aggiunto al file di risorse. Tutto è stato chiarito. – Wrightboy