visual studio navigate code visual-studio tfs visual-studio-2015 vsts

navigate - Los nuevos archivos de Visual Studio 2015 no se agregan automáticamente al control de origen



go to definition visual studio code (4)

Acabo de actualizar a VS2015 y estoy experimentando un problema que no había visto antes. Al usar una solución existente bajo el control de código fuente, puedo modificar los archivos y se seleccionan como cambios pendientes listos para registrarse en TFS.

Sin embargo, agrego un nuevo archivo (Test.cs como ejemplo en esta captura de pantalla), no se recoge como un archivo nuevo.

Tengo que hacer clic con el botón derecho y hacer clic en "Agregar archivos al control de código fuente"

Esto nunca ha sido un problema antes. Me gustaría que todo lo que agregue como un nuevo archivo sea recogido como un cambio pendiente. ¿Cómo puedo hacer que esto suceda? No he visto esto antes en versiones anteriores de Visual Studio.

Puedo confirmar que este problema es el mismo en otra máquina. Además, el nuevo archivo no se recoge en "Promocionar cambios de candidatos" tampoco.

Si a continuación, hago clic en "Agregar archivo al control de código fuente", aparece este mensaje.

"El archivo seleccionado se ignora. ¿Agregarlo al control de origen de todos modos?"

Mi archivo .tfignore solo tiene una directiva para ignorar paquetes, así que no creo que este sea el problema.

¿Cómo puedo recuperar mi configuración?

ACTUALIZAR:

Me di cuenta de que esto solo sucede con la rama "Liberar" de mi espacio de trabajo. Todas las demás ramas se comportan como se espera. Además, si tomo una rama "Release" y la llamo "Release1", ¡el problema desaparece por completo!

¿Las ramas con el nombre específico "Release" adquieren alguna funcionalidad especial en TFS?


Las carpetas llamadas Release y sus contenidos se excluyen automáticamente de TFS (junto con Debug y muchos tipos de archivos). Puede anular esto para determinadas carpetas creando un archivo .tfignore, como se detalla en la sección "Personalizar qué archivos son ignorados por el control de versiones" de este enlace

Personalice qué archivos son ignorados por el control de versión

Por defecto, ciertos tipos de archivos (por ejemplo, archivos .dll) son ignorados por el control de versiones. Como resultado:

Cuando agrega archivos ignorados a carpetas que están mapeadas en un área de trabajo local, no aparecen en la página Cambios pendientes en Team Explorer.

Cuando intenta agregar archivos ignorados usando el cuadro de diálogo Agregar al control de código fuente (por ejemplo, arrastrándolos a Source Control Explorer), aparecen automáticamente en la pestaña Elementos excluidos.

Puede configurar qué tipos de archivos se ignoran colocando un archivo de texto llamado .tfignore en la carpeta donde desea que se apliquen las reglas. Los efectos del archivo .tfignore son recursivos. Sin embargo, puede crear archivos .tfignore en subcarpetas para anular los efectos de un archivo .tfignore en una carpeta principal.

.tfignore reglas de archivo

Las siguientes reglas se aplican a un archivo .tfignore:

# comienza una línea de comentarios

El * y? comodines son compatibles.

Una especificación de archivo es recursiva, a menos que tenga el carácter / prefijado.

! niega una especificación de archivos (no se ignoran los archivos que coinciden con el patrón)

Ejemplo de archivo .tfignore

Ignorar archivos .cpp en la subcarpeta ProjA y todas sus subcarpetas
ProjA * .cpp

Ignorar archivos .txt en esta carpeta
*.TXT

Ignore los archivos .xml en esta carpeta y todas sus subcarpetas
* .xml

Ignorar todos los archivos en la subcarpeta Temp
/Temperatura

No ignore los archivos .dll en esta carpeta ni en ninguna de sus subcarpetas
! *. dll


Tenemos el mismo problema debido a una rama llamada ''Release''. Pero el problema es solo en Visual Studio 2015 Actualización 3. Al usar Visual Studio 2015 Actualización 2, todo está bien. Entonces Visual Studio Update 3 debe haber cambiado su comportamiento. Sería útil volver a su antiguo comportamiento.



Agregue un archivo .tfignore a la carpeta de lanzamiento que contiene las extensiones que desea que no ignore:

!*.vb

Intenté agregar esto al .tfignore que existía en la carpeta de mi solución y no me ayudó. Solo funcionó cuando agregué uno a la carpeta de lanzamiento principal.

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

msdn hilo sobre el tema