8

Est-ce que quelqu'un est au courant d'un moyen de rendre le studio visuel complètement ignorer un fichier lors de la compilation? J'ai une solution C# qui a un fichier foo.config qui n'est pas vraiment un fichier de configuration standard - c'est juste un fichier texte. Au cours de la compilation, VS attrape le fichier et les bombes.Comment faire pour que le compilateur Visual Studio ignore un fichier?

Je voudrais qu'il agisse comme si c'était juste un fichier texte. Je n'ai pas la possibilité de changer le nom du fichier.

EDIT: Veuillez noter que BuildAction n'exclut pas les fichiers du compilateur qui les vérifient. Il décide simplement si le fichier est compilé dans l'assembly, qu'il s'agisse de contenu (comme un fichier jpg ou autre), ou s'il s'agit d'un fichier de ressources. Pour plus d'informations: see the MSDN page.

EDIT2: Apparemment, si vous avez un fichier texte nommé foo.config et que vous l'avez ouvert pendant la construction, VS2005 affichera une erreur en pensant que le fichier doit être xml. Cependant, si vous fermez le fichier, VS2005 l'ignorera.

Solution: La validation Visual Studio provoque des erreurs si un fichier non conforme est ouvert pendant la phase de génération. Pour obtenir un exemple de désactivation (pour HTML), voir Scott Guthrie's post. Comme Allen l'a mentionné, vous devriez également avoir l'action de construction tournée à "Aucun". Malheureusement, cela n'arrêtera pas les erreurs de compilation si vous avez le fichier ouvert.

+1

@ edit2: à droite, exactement comment je l'explique dans ma réponse :) –

Répondre

21

clic droit> propriétés

Build Action dans un fichier .config différent.

Je viens de vérifier, VS.net ne se soucie pas tant que son app.config ou web.config et l'action de construction de fichier de configuration est définie sur "Aucun", il "erreur" si vous avez le fichier ouvert mais cela n'entraînera pas l'échec de la construction ou l'empêchera de construire les assemblages.

Fermez le fichier et les erreurs disparaîtront, de manière similaire aux erreurs que vous obtenez sur le balisage HTML. L'affichage de ces "erreurs" est probablement un paramètre configurable dans vsnet

2

Faites un clic droit sur le fichier et choisissez "Exclure du projet".

Si vous voulez toujours le voir dans votre projet, sélectionnez le projet et cliquez sur le bouton "Afficher tous les fichiers" en haut de l'explorateur de solution. Cela montrera tous les fichiers dans l'arborescence même s'ils ne font pas partie du projet.

+0

Il sera cependant exclu du contrôle de la source de code. – Crono

+0

@Crono - peut-être, mais tout dépend de ce que vous utilisez pour le contrôle de la source. –

1

Etes-vous sûr que VS compiler le fichier .config ???

Vous devriez vérifier son action de construction dans les options de fichier et peut être mis à aucune.

5

L'action à effectuer dépend de la solution et du type de fichier. Par exemple (dans VS2005), dans une solution C++ je peux faire un clic droit sur le nom du fichier source dans l'explorateur de solution et voir ses propriétés. La première option "General" est "Excluded From Build", ce qui vous permettra d'exclure le fichier du processus de construction sans l'exclure complètement du projet.

J'ai extrait un fichier .config dans une solution C# et trouvé une option "Build Action" dans la section Advanced. Cela devrait probablement être réglé sur "Aucun". réglé sur "None"

Edit: Si vous parlez app.config, vous salissez vraiment ne peux pas le format de cela, vous avez besoin de mettre

+0

Est-ce différent dans VS2008? En 2005, je ne vois pas une section "Général" ni une option "Exclure de la construction". – VanOrman

+0

Cela dépend probablement de la solution et du type de fichier. Je viens d'extraire les propriétés d'un fichier de configuration dans une solution C#, et il semble que la réponse d'Allen soit ce que vous voulez. – zweiterlinde

Questions connexes