TFS y git, reference faltante

Por ejemplo, en el proyecto asp.net mvc cuando retiro repositorys, faltan algunas references.

Debo agregarlos nuevamente de forma manual. En proyectos pequeños no es un problema, pero en grandes repositorys se produce como un gran problema y time perdido. También el mismo problema existe en git. Quiero cuando saque repositorys, todo debe quedar claro.

¿Hay alguna solución sobre este problema?

Hablando desde un punto de vista de "mejores prácticas", su control de origen no debe contener las bibliotecas de las que depende su proyecto. En su lugar, debe contener las instrucciones para get esas dependencies (como references en los files de definición de proyecto).

Qué tan bien funciona esto depende de sus herramientas. En los entornos de desarrollo de Visual Studio, normalmente se usa NuGet y, por desgracia, en mi experiencia, se debe decir a NuGet que quiere que se resuelvan sus references. (Por el contrario, para los proyectos que utilizan la administración de dependencies de Maven, más común en Java que en .Net, la resolución de las dependencies es una parte pnetworkingeterminada del ciclo de vida de la compilation, por lo que puede simplemente verificar y comstackr).

Implementar completamente las mejores prácticas que menciono … no siempre es trivial. Es posible que deba alojar sus propios packages NuGet, por ejemplo. Hay beneficios para seguir con eso, pero no todos lo deciden.

De todos modos, aunque no lo recomiendo, para completar la respuesta a la pregunta, esta es una alternativa. Parece que inicialmente estás hablando de Visual Studio, Team Explorer y TFVC.

Es posible incrustar libs referencedas en el control de origen. Por lo general, los directorys donde estas libs viven en el tree de trabajo son ignorados por el control de origen, por lo que un bash pnetworkingeterminado de "agregar todo al control de origen" puede pasar por encima de ellos. Si navega a las librerías específicas en su explorador de soluciones, y dice específicamente que agregue solo esos files, se le preguntará "el file se ignora, agregue de todos modos" (o algo así). Y si dices que sí, entonces eso es todo.

En cuanto a por qué esto también pasaría con git … bueno, supongo que estás usando la misma herramienta (visual studio / team explorer) para abordar git, y supongo que de forma pnetworkingeterminada configuran las mismas reglas de ignorar. Es una combinación de herramientas que realmente no uso, así que no puedo decir nada más definitivo que eso.

Ahora, tengo proyectos con una mezcla de bibliotecas NuGet y de control de fuente incrustadas, y puedo decirles que tomaría NuGet (incluso con el paso adicional de decirle que necesito que se resuelvan las dependencies) cualquier día de la semana.