103 votes

Quelle est la différence entre une ressource et une ressource intégrée dans une application C# ?

Quand dois-je utiliser l'un ou l'autre ?

J'aimerais que tous les fichiers que j'utilise dans mon application (images, son, fichier xml, etc.) se trouvent à l'intérieur du fichier .exe afin de ne pas déployer avec un tas de dossiers et de fichiers.

Merci pour l'information.

93voto

viky Points 5893

Les actions de construction "Resource" et "Content" permettent d'accéder aux ressources WPF en utilisant l'Uris. Cependant, "Embedded Resource" est destiné aux technologies antérieures. Cependant, les deux options intègrent la ressource dans l'assemblage, mais l'option "Resource" doit être utilisée pour WPF.

MSDN fournit une explication complète aquí .

1 votes

Vous avez raison ! J'ai défini toutes les images de mon projet WPF comme des ressources et j'ai reconstruit la source. Maintenant, lorsque je navigue dans le dossier Debug, je ne trouve les fichiers nulle part, ils doivent faire partie du fichier .exe, exactement comme je le veux. Je ne peux pas vous remercier assez ! :)

4 votes

Le lien MSDN est cassé. Une explication supplémentaire ici serait très appréciée.

13voto

Kent Boogaart Points 97432

Une ressource WPF (action de construction = Ressources ) exploite les ressources intégrées telles qu'elles sont prises en charge par le cadre .NET de base, mais ajoute la prise en charge de l'accès à la ressource intégrée par le biais d'une balise pack URI . De MSDN :

Les fichiers de ressources WPF ne sont pas les mêmes que t ressources qui peuvent être configurées en utilisant le support de base du .NET Framework pour les ressources d'assemblage. Alors que les fichiers de ressources WPF tirent parti de la prise en charge des ressources Framework pour les ressources d'assemblage, la possibilité d'accéder aux fichiers de ressources WPF WPF en utilisant des URIs de paquet est plus facile que l'utilisation des espaces de noms.

4voto

kiamlaluno Points 11856

Comme indiqué par MSDN,

Les ressources intégrées sont les meilleures c si vous devez partager une application d'application (.resx) entre plusieurs projets. [ ] disposez d'un fichier de ressources commun qui contient les logos de votre entreprise, des informations sur les marques, etc. l'utilisation de ressources intégrées signifie que vous devez copier uniquement le fichier .resx et non le fichier fichiers de données de ressources associés.

Y directement. Si vous essayez de modifier une ressource incorporée, vous recevrez un vous invitant à convertir l'élément élément en une ressource liée afin de pouvoir l'éditer. La conversion est recommandée mais facultative. Vous devez les exporter, faire vos modifications dans une externe, puis les réimporter dans votre projet.

5 votes

Cela ne répond pas à la question : quelle est la différence entre une ressource intégrée et une ressource ? Votre réponse ne concerne que les ressources embarquées.

4 votes

Le texte de la question dit "Quand dois-je utiliser l'un ou l'autre ?"; je pense avoir répondu à cette question. Les questions sont en réalité au nombre de deux.

1voto

user2064543 Points 1

Merci pour tous les rapports, qui m'ont aidé à trouver plus précisément où était le problème : Pour moi, c'était les images utilisées comme icône du projet dans la barre des tâches qui était construit en tant que ressources et devait être construit en tant que contenu. Toutes les autres images peuvent être construites en tant que ressources, sans problème.

J'espère que cela vous aidera à l'avenir.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X