Propriétés des fichiers

Vous pouvez utiliser les propriétés des fichiers pour indiquer les actions que le système de projet doit effectuer sur les fichiers. Ainsi, vous pouvez définir les propriétés d'un fichier pour indiquer si ce dernier doit être compilé ou incorporé dans le résultat de la génération en tant que ressource.

Vous pouvez sélectionner n'importe quel fichier dans l'Explorateur de solutions, puis examiner ses propriétés dans la fenêtre Propriétés. Les fichiers Visual Basic et Visual C# ont quatre propriétés : Nom de fichier, Action de génération, Outil personnalisé et Espace de noms de l'outil personnalisé.

Notes

Les propriétés Action de génération, Outil personnalisé et Espace de noms de l'outil personnalisé sont utilisées dans le cadre de scénarios avancés. En général, les valeurs par défaut suffisent et ne doivent pas être modifiées.

Propriété Nom de fichier

Vous pouvez renommer un fichier en cliquant sur la propriété Nom de fichier dans la fenêtre Propriétés et en tapant le nouveau nom. Notez que si vous modifiez le nom du fichier, Visual Studio renommera automatiquement tous les fichiers .vb ou .resx qui lui sont associés.

Propriété Action de génération

La propriété Action de génération indique les opérations que Visual Studio applique à un fichier lors de l'exécution d'une génération. Action de génération peut prendre l'une des valeurs suivantes :

  • Aucun - Le fichier n'est pas inclus dans le groupe de sorties de projet et n'est pas compilé au cours du processus de génération. Il peut s'agir d'un fichier texte contenant de la documentation, par exemple un fichier Readme.

  • Compiler - Le fichier est compilé dans la sortie de projet. Cette valeur est utilisée pour les fichiers de code.

  • Contenu - Le fichier n'est pas compilé, mais il est inclus dans le groupe de sorties Contenu. Cette valeur constitue par exemple la valeur par défaut d'un fichier .htm ou d'autres types de fichier Web.

  • Ressource incorporée - Le fichier est incorporé dans la sortie de la génération du projet principale sous la forme d'une DLL ou d'un fichier exécutable. Cette valeur est utilisée en général pour les fichiers de ressources.

    Notes

    La propriété Action de génération est extensible. Par conséquent, des options supplémentaires ajoutées par d'autres produits et fonctionnalités peuvent s'afficher pour cette propriété.

La valeur par défaut d'Action de génération dépend de l'extension du fichier que vous ajoutez à la solution. Par exemple, si vous ajoutez un projet Visual Basic à l'Explorateur de solutions, la valeur par défaut d'Action de génération est Compiler. En effet, l'extension .vb indique un fichier de code qui peut être compilé. Les noms et les extensions des fichiers s'affichent dans l'Explorateur de solutions.

Notez que le nom du fichier dans le projet ne sera pas l'identificateur de la ressource managée dans le manifeste d'assembly (pour plus d'informations, consultez Manifeste d'assembly). L'identificateur sera namespace.filename.extension, où namespace désigne la valeur de la propriété DefaultNamespace dans un projet Visual C# ou de la propriété RootNamespace dans un projet Visual Basic. filename et extension demeurent identiques à leur désignation d'origine. S'il s'agit d'un fichier .resx, le système de projet exécute resgen.exe sur ce fichier, de sorte à créer un fichier .resource. Le fichier .resource sera incorporé dans l'assembly. Par conséquent, le manifeste d'assembly fera référence au fichier .resources et non au fichier .resx.

Supposons par exemple que vous ajoutiez le fichier MyFile.bmp à un projet dont l'espace de noms par défaut est MyProj et que vous choisissez comme action de génération Ressource incorporée. MyProj.MyFile.bmp sera alors l'identificateur dans le manifeste d'assembly. Si, par la suite, vous ajoutez le fichier MyFile.resx au projet, l'action de génération par défaut sera Ressource incorporée et MyProj.MyFile.resources sera l'identificateur dans le manifeste d'assembly.

Notez que lorsque l'éditeur de ressources ajoute une image, il affecte la valeur Aucun à l'option Action de génération, parce que le fichier .resx fait référence au fichier image. Au moment de la génération, l'image est extraite du fichier .resources créé en dehors du fichier .resx. L'image est ensuite aisément accessible via la classe fortement typée générée automatiquement pour le fichier .resx. Par conséquent, vous ne devez pas changer ce paramètre en Ressource incorporée, sinon l'image serait incluse deux fois dans l'assembly.

Pour plus d'informations sur la manière d'accéder aux fichiers de ressources (compilés à partir de fichiers .resx) au moment de l'exécution, consultez ResourceManager. Pour plus d'informations sur l'accès à tous les autres fichiers et ressources incorporés au moment de l'exécution, consultez GetManifestResourceStream (page éventuellement en anglais).

Propriété Copier dans le répertoire de sortie

Cette propriété spécifie les conditions dans lesquelles le fichier source sélectionné sera copié dans le répertoire de sortie. Sélectionnez Ne pas copier si le fichier ne sera jamais copié vers le répertoire de sortie. Sélectionnez Toujours copier si le fichier sera toujours copié vers le répertoire de sortie. Sélectionnez Copier si plus récent si le fichier sera copié uniquement lorsqu'il est plus récent qu'un fichier existant du même nom dans le répertoire de sortie.

Pour plus d'informations sur la modification du répertoire de sortie, consultez Générer, page du Concepteur de projets (C#) ou Page Compiler, Concepteur de projets (Visual Basic).

Notes

Dans les projets Smart Device, la nouveauté d'un fichier .dll ou .exe est déterminée en comparant les versions Win32 comme suit :

Si la version de l'appareil est inférieure à celle de l'ordinateur, le fichier est copié.

Si la version de l'appareil est supérieure à celle de l'ordinateur, le fichier n'est pas copié.

Si les versions sont identiques, il est procédé à une comparaison de checksums. Si les checksums sont identiques, le fichier n'est pas copié. Si les checksums sont différents, le fichier est copié.

La nouveauté de fichiers autres que .dll et .exe est basée uniquement sur le checksum.

Notes

Les fichiers de données seront copiés vers un sous-dossier nommé Fichiers de données dans le répertoire de sortie.

Propriété Outil personnalisé

Les outils personnalisés sont des composants pouvant être employés pour transformer des fichiers d'un type à un autre au moment du design. Il peut s'agir par exemple d'un générateur de code de groupe de données qui lit un fichier de schéma XML (.xsd) et génère des classes dans un fichier de code qui expose ses tables et colonnes par programmation. Il existe une liste prédéfinie des outils personnalisés disponibles dans le produit, et cette propriété vous permet de déterminer quel outil personnalisé est appliqué à un fichier donné. Bien qu'une telle situation soit rare, il se peut que vous soyez amené à modifier la valeur de cette propriété. Cette dernière doit être vide ou désigner l'un des outils personnalisés intégrés.

Pour définir ou modifier l'outil personnalisé, cliquez sur la propriété CustomTool dans la fenêtre Propriétés et tapez le nom d'un outil personnalisé.

Propriété Espace de noms de l'outil personnalisé

Si un outil personnalisé est assigné à votre projet, la propriété Espace de noms de l'outil personnalisé vous permet de spécifier l'espace de noms à assigner au code généré par cet outil. Si vous spécifiez une valeur pour la propriété Espace de noms de l'outil personnalisé, le code généré par l'outil en question est placé dans l'espace de noms indiqué. Si la propriété est vide, le code généré est placé dans l'espace de noms par défaut pour le dossier dans lequel se trouve le fichier converti. Pour Visual Basic, il s'agit de l'espace de noms racine du projet, et pour Visual C#, il s'agit du paramètre de la propriété DefaultNamespace pour le dossier.

Voir aussi

Concepts

Modèles de projet par défaut dans Visual Studio

Types et extensions de fichiers en Visual Basic et Visual C#

Autres ressources

Propriétés de projet (Visual Studio)

Configurations de projet Debug et Release