Nous avons plusieurs fichiers de configuration (app.DEV.config, app.TEST.config, etc.) et un événement de pré-construction qui copie le fichier de configuration correct dans app.config. De toute évidence, les fichiers spécifiques à la configuration sont dans le contrôle de code source - mais pour le moment, il en est de même pour App.Config, et cela ne devrait pas l'être.
Comment puis-je marquer ce fichier comme exclu du contrôle de source, mais évidemment pas du projet.
J'utilise VS 2005 et 2005 Team Explorer.
Il existe une stratégie d’archivage (stratégie relative aux modèles interdits) dans MS Power Tools qui vous permet de filtrer les noms de fichiers en fonction d’une expression régulière. Voir: Outils puissants de Microsoft Team Foundation Server
Bien que les stratégies d’archivage ne soient pas totalement infaillibles, c’est la chose la plus proche que TFS puisse appliquer pour appliquer des règles définies par l’utilisateur, comme ce que vous recherchez.
(Et comme les autres l’ont déjà dit, vous pouvez également masquer un fichier ou un dossier, ce qui signifie qu’il reste dans le contrôle de code source et est visible par tous les autres membres de l’équipe; peut supprimer le fichier, ce qui signifie qu'il est supprimé des ordinateurs de tout le monde quand ils arrivent au plus tard - mais aucune de ces options n'empêchera l'ajout de tels fichiers au contrôle de source en premier lieu)
C'est facile dans TFS2012, créer un fichier .tfignore
http://msdn.Microsoft.com/en-us/library/tfs/ms245454%28v=vs.110%29.aspx#tfignore
######################################
# Ignore .cpp files in the ProjA sub-folder and all its subfolders
ProjA\*.cpp
#
# Ignore .txt files in this folder
\*.txt
#
# Ignore .xml files in this folder and all its sub-folders
*.xml
#
# Ignore all files in the Temp sub-folder
\Temp
#
# Do not ignore .dll files in this folder nor in any of its sub-folders
!*.dll
# EDIT https://msdn.Microsoft.com/en-us/library/ms245454(v=vs.110).aspx#tfignore
# A filespec is recursive unless prefixed by the \ character.
Sélectionnez le fichier App.config dans l'Explorateur de solutions et choisissez Fichier -> Contrôle de la source -> Exclure App.config du contrôle de la source.
Il existe une option difficile à trouver:
1. Sélectionnez le ou les fichiers dans l'explorateur de solutions
2. Allez dans Fichier -> Contrôle de la source -> Avancé
et le voici
Gardez à l'esprit: Si vous cliquez avec le bouton droit de la souris sur un fichier dans l'Explorateur de solutions, vous ne trouvez que "les options les plus importantes", pas toutes :)
Si tout ce que vous voulez, c’est d’avoir un fichier dans le projet mais pas sous contrôle de source avec TFS, allez simplement dans SourceControl, supprimez-le et annulez votre extraction du fichier de projet (il essaiera de supprimer le fichier bien). Enregistrez ensuite votre suppression du fichier que vous excluez. Dans l'explorateur de solutions, vous devriez voir qu'il n'y a pas d'icône de contrôle de source en regard du fichier que vous excluez. Le fichier de projet doit répertorier un fichier à cet emplacement, mais ce fichier ne doit plus être sous contrôle de source.
Gardez à l'esprit que toute autre personne verra maintenant un fichier manquant dans le projet à la fin de celle-ci.
TFS vous permet de masquer au niveau du dossier/fichier. Lorsque quelque chose est masqué, TFS ne tentera pas de le synchroniser (un peu comme un svn: ignore).
Lors de la configuration de votre espace de travail, masquez tout ce que vous souhaitez que TFS ignore. Un tutoriel plus détaillé est ici .
Cela a fonctionné pour moi:
Une solution consiste à ajouter un élément nouveau ou existant à un projet (par exemple, cliquer avec le bouton droit de la souris sur le projet, ajouter un élément existant ou faire un glisser-déposer de l'Explorateur Windows dans l'explorateur de la solution), laisser TFS traiter le ou les fichiers ou le dossier, puis annuler l'opération en attente. changements sur le ou les article (s). TFS les annulera comme ayant un changement d'ajout en attente, et les fichiers resteront silencieux dans le projet et resteront en dehors de TFS.
Source: = "> Comment puis-je exclure un fichier spécifique du contrôle de source TFS
Cette question a été posée il y a quelque temps, mais elle concerne le même type de problème que je rencontrais.
Le problème:
La raison:
Exemple d'événement de construction:
Ci-dessus, nous devons simplement déplacer un fichier de notre chemin de construction cible (les dossiers bin\debug ou bin\release) vers notre dossier de projet. Dans mon cas, c'était pour que je puisse inclure des fichiers générés par le projet dans mon installateur. Mon installateur ne les récupérait pas dans le cadre de la sortie du projet.
Le correctif: (m'a presque donné un coup de pied au visage quand j'ai compris cela)
Nouvel événement de construction:
Nous nous amusons tous avec Build Events, non? Ci-dessus, je fais simplement 2 choses, je supprime l'attribut lecture seule, maintenant les fichiers ne sont pas lus seulement. Copiez mon fichier comme je le voulais à l’origine. Remplacez ensuite l'attribut en lecture seule (facultatif, je suppose) pour que Visual Studio et Team Foundations restent satisfaits.
Et oui ... je me donne encore un coup de pied dans le visage.
Visual Studio 2013 (et 2012)
Cette fonctionnalité est disponible en sélectionnant le (s) fichier (s) et en allant sur:
File > Source Control > Advanced > Exclude ... from Source Control
J'ai un problème similaire, mon App.config contenait des données sensibles (par exemple, nom d'utilisateur) que ces données ne doivent pas être synchronisées avec TFS.
L'article Les meilleures pratiques pour le déploiement de mots de passe et d'autres données sensibles sur ASP.NET et Azure App Service décrit une bonne approche pour éviter ce problème:
Utilisez l'attribut "fichier" de l'élément "appSettings" pour référencer un fichier de configuration qui n'est pas ajouté au contrôle de source
Si vous avez une version plus ancienne que TFS2012 et ne pouvez donc pas créer de fichier .tfignore
ou utiliser l'option File > Source Control > Advanced > Exclude …
, vous pouvez essayer ceci:
TFS semble maintenant ignorer les modifications dans le fichier cible. Si vous devez rééditer le fichier, n'utilisez pas Visual Studio, car TFS le replacera dans la liste des fichiers avec les modifications en attente.