new - Quels sont les différents paramètres "Build action" dans les propriétés du projet Visual Studio et que font-ils?




visual studio new project (5)

Dans VS2008, l'entrée de doc qui semble la plus utile est:

Windows Presentation Foundation Création d'une application WPF (WPF)

ms-help: //MS.VSCC.v90/MS.MSDNQTR.v90.en/wpf_conceptual/html/a58696fd-bdad-4b55-9759-136dfdf8b91c.htm

ApplicationDefinition Identifie le fichier de balisage XAML qui contient la définition de l'application (un fichier de balisage XAML dont l'élément racine est Application). ApplicationDefinition est obligatoire lorsque Install est true et que OutputType est winexe. Une application WPF et, par conséquent, un projet MSBuild ne peuvent avoir qu'une seule ApplicationDefinition.

Page Identifie un fichier de balisage XAML dont le contenu est converti en un format binaire et compilé dans un assembly. Les éléments de page sont généralement implémentés conjointement avec une classe code-behind.

Les éléments de page les plus courants sont les fichiers XAML dont les éléments de niveau supérieur sont l'un des suivants:

Window (System.Windows..::.Window).

Page (System.Windows.Controls..::.Page).

PageFunction (System.Windows.Navigation..::.PageFunction<(Of <(T>)>)).

ResourceDictionary (System.Windows..::.ResourceDictionary).

FlowDocument (System.Windows.Documents..::.FlowDocument).

UserControl (System.Windows.Controls..::.UserControl).

Ressource Identifie un fichier de ressources compilé dans un assembly d'application. Comme mentionné précédemment, UICulture traite les éléments de ressource.

Contenu Identifie un fichier de contenu distribué avec une application. Les métadonnées qui décrivent le fichier de contenu sont compilées dans l'application (à l'aide de AssemblyAssociatedContentFileAttribute).

Pour l'essentiel, vous prenez simplement ce que Visual Studio vous a BuildAction par défaut ... Je fais référence à la propriété BuildAction pour chaque fichier sélectionné dans l'Explorateur de solutions. Il y a un certain nombre d'options et il est difficile de savoir ce que chacune d'elles fera.


De la documentation:

La propriété BuildAction indique ce que Visual Studio fait avec un fichier lors de l'exécution d'une génération. BuildAction peut avoir plusieurs valeurs:

Aucun - Le fichier n'est pas inclus dans le groupe de sortie du projet et n'est pas compilé dans le processus de construction. Un exemple est un fichier texte contenant une documentation, par exemple un fichier Readme.

Compiler - Le fichier est compilé dans la sortie de construction. Ce paramètre est utilisé pour les fichiers de code.

Contenu: le fichier n'est pas compilé, mais il est inclus dans le groupe de sortie Contenu. Par exemple, ce paramètre est la valeur par défaut pour un fichier .htm ou un autre type de fichier Web.

Embedded Resource - Ce fichier est intégré dans la sortie principale du projet en tant que DLL ou exécutable. Il est généralement utilisé pour les fichiers de ressources.


Que diriez-vous de cette page de Microsoft Connect (expliquant les types DesignData et DesignDataWithDesignTimeCreatableTypes). Citant:

Ce qui suit décrit les deux actions de construction pour les fichiers de données d'exemple.

Les exemples de fichiers .xaml doivent être associés à l'une des actions de construction ci-dessous:

DesignData : des exemples de types de données seront créés en tant que faux types. Utilisez cette action de construction lorsque les exemples de types de données ne sont pas créables ou possèdent des propriétés en lecture seule pour lesquelles vous souhaitez définir des valeurs de données d'exemple.

DesignDataWithDesignTimeCreatableTypes : des exemples de types de données seront créés à l'aide des types définis dans le fichier de données exemple. Utilisez cette action de construction lorsque les exemples de types de données sont créables à l'aide de leur constructeur vide par défaut.

Pas si incroyablement exhaustif, mais ça donne au moins un indice. Cette procédure pas à pas MSDN donne également quelques idées. Je ne sais pas si ces actions de construction sont également applicables aux projets non-Silverlight.


VS2010 a une propriété pour 'Construire l'action', et aussi pour 'Copier dans le répertoire de sortie'. Ainsi, une action de 'None' sera toujours copiée dans le répertoire build si la propriété copy est définie sur 'Copy if Newer' ou 'Copy Always'.

Donc, une action de construction de 'Contenu' devrait être réservée pour indiquer le contenu auquel vous accéderez via 'Application.GetContentStream'

J'ai utilisé le paramètre 'Build Action' de 'None' et le paramètre 'Copy to Output Direcotry' de 'Copy if Newer' pour certains .config externes.

G.


  • Aucun : le fichier n'est pas inclus dans le groupe de sortie du projet et n'est pas compilé dans le processus de génération. Un exemple est un fichier texte contenant une documentation, par exemple un fichier Readme.

  • Compiler : Le fichier est compilé dans la sortie de construction. Ce paramètre est utilisé pour les fichiers de code.

  • Contenu : vous permet de récupérer un fichier (dans le même répertoire que l'assembly) en tant que flux via Application.GetContentStream (URI). Pour que cette méthode fonctionne, il a besoin d'un attribut personnalisé AssemblyAssociatedContentFile que Visual Studio ajoute gracieusement lorsque vous marquez un fichier en tant que "Contenu"

  • Ressource intégrée : incorpore le fichier dans une ressource manifeste d'assembly exclusive.

  • Ressource (WPF uniquement) : incorpore le fichier dans une ressource manifeste d'assembly partagée (par tous les fichiers de l'assembly avec des paramètres similaires) nommée AppName.g.resources.

  • Page (WPF uniquement) : Utilisé pour compiler un fichier baml dans baml . Le baml est ensuite intégré avec la même technique que Resource (c'est-à-dire disponible sous la forme `AppName.g.resources)

  • ApplicationDefinition (WPF uniquement) : marquez le fichier XAML / classe qui définit votre application. Vous spécifiez le code-behind avec le x: Class = "Namespace.ClassName" et définissez le formulaire de démarrage / page avec StartupUri = "Window1.xaml"

  • SplashScreen (WPF uniquement) : une image marquée SplashScreen s'affiche automatiquement lorsqu'une application WPF est SplashScreen , puis disparaît

  • DesignData : Compile les viewmodels XAML afin que les contrôles userc peuvent être prévisualisés avec des exemples de données dans Visual Studio (utilise des types de simulation)

  • DesignDataWithDesignTimeCreatableTypes : Compile les viewmodels XAML afin que les contrôles utilisateur puissent être prévisualisés avec des exemples de données dans Visual Studio (utilise les types réels)

  • EntityDeploy : (Entity Framework) : utilisé pour déployer les artefacts Entity Framework

  • CodeAnalysisDictionary : un fichier XML contenant un dictionnaire de mots personnalisé pour les règles d'orthographe





projects-and-solutions