web-dev-qa-db-fra.com

Les nouveaux fichiers de Visual Studio 2015 ne sont pas ajoutés automatiquement au contrôle de code source

Je viens de passer à VS2015 et je rencontre un problème que je n'ai jamais vu auparavant. En utilisant une solution existante sous contrôle de source, je suis en mesure de modifier des fichiers et ils sont récupérés en tant que modifications en attente prêtes à être enregistrées dans TFS.

Cependant, j'ajoute un nouveau fichier (Test.cs comme exemple dans cette capture d'écran), il n'est pas repris comme un nouveau fichier.

Screenshot of new file vs modified file

Je dois faire un clic droit dessus et cliquer sur "Ajouter des fichiers au contrôle de code source"

Add files to Source Control screenshot

Cela n'a jamais été un problème auparavant. J'aimerais que tout ce que j'ajoute en tant que nouveau fichier soit récupéré en tant que modification en attente. Comment puis-je y arriver? Je n'ai jamais vu cela auparavant dans les versions précédentes de Visual Studio.

Je peux confirmer que ce problème est le même sur une autre machine. De plus, le nouveau fichier n'est pas non plus récupéré dans "Promouvoir les changements de candidats".

Si je clique ensuite sur "Ajouter un fichier au contrôle de code source", je reçois ce message.

The selected file is ignored - add it anyway?

"Le fichier sélectionné est ignoré. Vous l'ajoutez quand même au contrôle de code source?"

Mon fichier .tfignore a juste une directive pour ignorer les paquets, donc je ne pense pas que ce fichier soit le problème.

Comment puis-je remettre mes paramètres sur la bonne voie?

MISE À JOUR:

J'ai remarqué que cela n'arrive qu'à la branche "Release" de mon espace de travail. Toutes les autres branches se comportent comme prévu. De plus, si je prends ensuite une branche "Release" et l'appelle "Release1", le problème disparaît complètement!

Les branches portant le nom spécifique "Release" prennent-elles des fonctionnalités spéciales dans TFS?

27
Laurence Frost

Les dossiers appelés Release et leur contenu sont automatiquement exclus de TFS (avec Debug et de nombreux types de fichiers). Vous pouvez remplacer cela pour des dossiers particuliers en créant un fichier .tfignore, comme détaillé dans la section "Personnaliser les fichiers qui sont ignorés par le contrôle de version" de cette section lien

Personnaliser les fichiers ignorés par le contrôle de version

Par défaut, certains types de fichiers (par exemple, les fichiers .dll) sont ignorés par le contrôle de version. Par conséquent:

Lorsque vous ajoutez des fichiers ignorés à des dossiers mappés dans un espace de travail local, ils n'apparaissent pas dans la page Modifications en attente dans Team Explorer.

Lorsque vous essayez d'ajouter des fichiers ignorés à l'aide de la boîte de dialogue Ajouter au contrôle de code source (par exemple en les faisant glisser dans l'explorateur de contrôle de code source), ils apparaissent automatiquement dans l'onglet Éléments exclus.

Vous pouvez configurer les types de fichiers à ignorer en plaçant le fichier texte appelé .tfignore dans le dossier où vous souhaitez appliquer les règles. Les effets du fichier .tfignore sont récursifs. Cependant, vous pouvez créer des fichiers .tfignore dans des sous-dossiers pour remplacer les effets d'un fichier .tfignore dans un dossier parent.

Règles de fichier .tfignore

Les règles suivantes s'appliquent à un fichier .tfignore:

# commence une ligne de commentaire

Les * et? les caractères génériques sont pris en charge.

Une spécification de fichier est récursive sauf si elle est préfixée par le caractère \.

! annule une spécification de fichier (les fichiers qui correspondent au modèle ne sont pas ignorés)

Exemple de fichier .tfignore

Ignorer les fichiers .cpp dans le sous-dossier ProjA et tous ses sous-dossiers
ProjA * .cpp

Ignorer les fichiers .txt de ce dossier
*.SMS

Ignorer les fichiers .xml dans ce dossier et tous ses sous-dossiers
*. xml

Ignorer tous les fichiers du sous-dossier Temp
\Temp

N'ignorez pas les fichiers .dll dans ce dossier ni dans aucun de ses sous-dossiers
! *. dll

17
MartW

Nous rencontrions également ce problème, mais dans notre cas, c'était parce que nous avions des dossiers qui se terminaient par ".Lib". Compris à partir de cette SO question: Visual Studio 2015. Fichiers non ajoutés à TFS

11
csrowell

Nous avons le même problème à cause d'une branche appelée "Release". Mais le problème ne concerne que Visual Studio 2015 Update 3. À l'aide de Visual Studio 2015 Update 2, tout va bien. Visual Studio Update 3 doit donc avoir changé son comportement. Il serait utile de revenir à son ancien comportement.

8
Dirk Königs

Ajoutez un fichier .tfignore au dossier de publication contenant les extensions que vous ne souhaitez pas ignorer:

!*.vb

J'ai essayé d'ajouter ceci au .tfignore qui existait dans mon dossier de solution et cela n'a pas aidé. Cela n'a fonctionné que lorsque j'en ai ajouté un au dossier de version parent.

..\Release
..\Release\.tfignore <-- this one
..\Release\SolutionA\
..\Release\SolutionA\.tfignore

fil msdn sur le sujet

5
nichole