J'ai créé un composant qui est un bouton contenant une image.
L'utilisateur peut spécifier la source de l'image en placant la source à la racine de son projet, puis dans le répertoire "ClientBin" du site web et dans le code il suffit d'écrire :
<MyButton Source="image.jpg"></MyButton>
Tout a bien fonctionné, jusqu'au jour où comme par magie plus aucune image ne s'affichait et l'évenement ImageFailed remontait l'exception avec le message "AG_E_NETWORK_ERROR".
Après des heures (
) de recherche, j'ai enfin vu ma "bétise".
Dans le projet de mon composant, j'avais en effet placé le fichier de code MyButton.cs dans un dossier Button, donc le chemin que je donnais n'était plus valide. Il fallait en effet maintenant utiliser le chemin : "../image.jpg"
<MyButton Source="../image.jpg"></MyButton>
J'espère que mon expérience servira à d'autre. Si ça n'est pas le cas, j'espère qu'elle vous fera rire...
Mais même si le problême est résolu, je me pose encore la question : POURQUOI?
Mon dossier Button n'est qu'une partie d'une dll "MyAssembly.dll". Donc, le fait de faire référence à "../image.jpg" me semble absurde, car que ce soit dans le projet de l'utilisateur ou dans son site web, le dossier "Button" n'apparait pas.
Alors pourquoi faut il changer le chemin relatif?
Partager