visual tutorial studio para mejores las iconos extensiones español code visual-studio-2008 command-line tfs macros

visual-studio-2008 - para - visual studio code tutorial español pdf



¿Cómo obtengo la última versión de una solución de Visual Studio desde la línea de comandos? (7)

Bueno ... Parece que tienes tres opciones.

  1. En su archivo por lotes, emita un tf get en cada rama del directorio que desee.

  2. reorganice su solución para que todas las dependencias estén bajo la misma ruta raíz.

  3. Use la forma visual de hacer clic derecho en el proyecto cargado y emitir el comando get.

La única vez que realmente es consciente de la solución es cuando el proyecto se carga en el IDE; o cuando es cargado por los servidores de compilación.

¿Cómo obtengo la última versión de mi solución de forma recursiva, como se hace en el menú contextual del explorador de soluciones de Visual Studio? Quiero hacer esto desde la línea de comando o mediante una macro. Estoy tratando de automatizar una parte de mi rutina diaria mediante el uso de un conjunto de archivos por lotes. Estoy seguro de que a muchos desarrolladores les encantaría tener algo como esto.

tf get solo obtiene los contenidos de una carpeta recursivamente (no la solución). No mira las dependencias del proyecto, etc. Eso no funcionará


Sé que mencionaste los archivos por lotes, pero déjame presentarte algo más.

Voy a adivinar que estás usando la versión 2005 de TFS. 2008 tiene todas las cosas de programación incorporadas.

Sin embargo, también puede usar CruiseControl.net para hacer compilaciones programadas para usted. He usado tanto TFS 2008 como CruiseControl y ambos parecen funcionar bien.


TFS tiene un .Net SDK que le permite crear sus propios programas personalizados que interactúan con un servidor TFS. Podría escribir un pequeño programa que realice la tarea que necesita:

TeamFoundationServer tfs = TeamFoundationServerFactory.GetServer("MyServer"); VersionControlServer vcs = (VersionControlServer)tfs.GetService(typeof(VersionControlServer)); WorkSpace[] myWorkSpaces = vcs.QueryWorkSpaces("MyWorkSpaceName", "MyLoginName", "MyComputer"); myWorkSpaces[0].Get(VersionSpec.Latest, GetOptions.GetAll);


Una solución más posible es usar PowerShell. El siguiente enlace es una muestra de proyecto de código que muestra cómo obtener una solución de TFS y compilarla localmente. Powershell es una solución mucho mejor que los archivos por lotes normales.

http://www.codeproject.com/KB/install/ExtractAndBuild.aspx


No hagas esto VS no es tan inteligente como crees. (Como lo evidencian los pagos misteriosos e inútiles que todos hemos experimentado para más de 3 ciclos de productos, usted y yo los incluimos. ¡Esta no es la marca de un sistema confiable!)

Lo que describes solo funciona para referencias de proyecto a proyecto. La ejecución de las operaciones de control de fuente desde Solution Explorer "omitirá por diseño":

  • referencias de proyecto a ensamblaje
  • video, sonido, archivos PDF, cualquier otro tipo de medio que VS no sea compatible, pero que pueda desempeñar un papel integral en el producto
  • MSBuild * .tarjeta los archivos a los que se hace referencia en sus proyectos
  • cualquier archivo de cualquier tipo al que se haga referencia desde objetivos personalizados
  • cualquier ejecutable de terceros requerido por el proceso de compilación
  • etc

Solo di no a la sincronización incompleta. En ese camino, solo dolores de cabeza mienten.

Ejecute ''tf get'' sin ámbito de ruta desde la línea de comando, o haga clic con el botón derecho -> Obtener desde la raíz $ / node en Source Control Explorer.


Acepto que Solution Explorer "por diseño" omitirá todos esos objetos, pero solo si no los incluye como elementos de Solución, que creo que debería incluir en sus soluciones, para que un novato pueda abrir la solución, hacer un Get Latest , y saber que tienen todas las dependencias necesarias para esa solución, y no tienen que aprender a hacerlo a través de una herramienta de línea de comandos, ni usar Source Control Explorer si no lo desean.

Incluir todas las dependencias sin código como elementos de solución (organizamos las carpetas de solución usando la misma estructura de carpetas que sus carpetas de control de origen) reduce el conocimiento "vudú" requerido para abrir y compilar la solución para los nuevos desarrolladores en un proyecto.

Sería bueno si pudiera vincular árboles de carpetas completos a una carpeta de soluciones en la solución VS.


Si tiene proyectos dependientes en una carpeta diferente. Use esto para recorrer todos los directorios secundarios para obtener lo último para cada proyecto:

Comience en el directorio principal C:/Project/SupportingProjects

FOR /D %%G IN ("*") DO ECHO ..from....%%G && tf get C:/Projects/SupportingProjects/%%G ::Get the latest for the Main project tf get C:/Projects/MainProject /recursive

En mi caso, la carpeta MainProject contiene el archivo de solución y el archivo de proyecto.

Encontré esto fácil y simple.

Más sobre el comando FOR: http://ss64.com/nt/for_d.html