Visual Studio increíblemente lento al cambiar el nombre de archivos


Tengo una solución de tamaño mediano con 99 proyectos que recientemente ha comenzado a comportarse extrañamente:

1) Si intento cambiar el nombre de un archivo a través del explorador de soluciones, VS aparentemente se colgará, pero después de mucho tiempo (más de 10 minutos) completará la operación de cambio de nombre.

2) También me di cuenta hoy de que cambiar a entre el modo de depuración y Liberación parece congelar VS también. Hasta ahora no he dejado que funcione lo suficiente para ver si realmente se completa.

He intentado tanto Visual Studio 2012 y 2013, y ambos exhiben el mismo problema, por lo que parece indicar que el problema podría no ser con Visual Studio. He intentado comprobar en el registro de eventos si hay algo allí, pero nada saltó sobre mí. También he reiniciado y ejecutar checkdisk, pero no encontró nada malo.

Ejecutar Windows 7 Professional en una computadora portátil con especificaciones bastante altas con 8 GB de RAM y una nueva SSD

Actualización: aparentemente si he renombrado un archivo una vez, puedo seguir renombrándolo (y otros archivos en la solución) inmediatamente. Cuando reinicio VS, es lento de nuevo.

Update2: Dejé la computadora funcionando durante la noche para intentar cambiar de Depuración a Liberación, y se las arregló para hacerlo en las 14 horas entre dejar el trabajo y volver aquí.

Author: Petter Brodin, 2014-03-10

4 answers

Visual Studio puede ser extremadamente lento en el cambio de nombre de archivos si está utilizando TFS con un espacio de trabajo "local" en lugar de un espacio de trabajo "servidor", y el número total de archivos que incluyen diferentes versiones en el repositorio TFS supera los 10.000 elementos.

Contrariamente a la recomendación de Microsoft, sugiero usar un espacio de trabajo de servidor en lugar de uno local para un rendimiento mucho mejor. También hay algunas otras desventajas de los espacios de trabajo locales y la única ventaja es poder trabajar mientras su TFS el repositorio está caído. Eso no es una gran ventaja teniendo en cuenta que si no puede conectarse a TFS, probablemente no pueda conectarse a su LAN y hay muy poco trabajo que puede hacer de todos modos en esa situación.

Para cambiar a un espacio de trabajo de servidor para TFS en Visual Studio 2015,

  1. En VS haga clic en Archivo Control > Control de código fuente Advanced > Avanzado {>Espacios de trabajo

  2. En el cuadro de diálogo que se abre, seleccione su espacio de trabajo y haga clic en Editar...

  3. Haga clic en Avanzado... (no importa qué asignación está seleccionada).

  4. En Ubicación, seleccione Servidor y, a continuación, pulse Aceptar.

Cambiar al servidor puede tomar diez minutos o más dependiendo del tamaño de su repositorio.

Una vez hecho esto, el cambio de nombre de los archivos debería ser casi instantáneo.

 17
Author: Daniel Barbalace,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-26 14:00:05

Al probar, había intentado configurar uno de los proyectos para construir en un servidor diferente, tanto en modo de depuración como de liberación. Pensé que había limpiado ambos, pero aparentemente solo lo había hecho bajo la configuración de depuración.

Aparentemente mientras tanto ese servidor ha decidido que odia mi máquina, lo que hace que mi máquina se congele mientras la espera.

Cerrar Visual Studio y editar manualmente el .el archivo csproj ha resuelto el problema.

 1
Author: Petter Brodin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-11 14:41:29

Basándome en la respuesta de @Daniel Barbalace, mi problema tenía que ver con TFS, pero no pude cambiar a los espacios de trabajo del servidor. Lo que terminé haciendo fue eliminar las asignaciones a las ramas o proyectos en los que no estoy trabajando en este momento. No hay un número mágico, pero una vez que parecía obtener menos de 50,000 archivos (a nivel mundial para la carpeta TFS) el cambio de nombre de repente bajó de 2+ minutos a 3-5 segundos.

 0
Author: J. Spiteri,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-27 14:22:32

Desafortunadamente 99 projects no es una solución de tamaño medio para Visual Studio, sino una solución muy grande. Visual Studio simplemente no escala bien a soluciones de este tamaño y estás viendo los efectos de eso aquí.

La única manera de hacer esto mejor es factorizar su solución en varias soluciones más pequeñas.

 0
Author: JaredPar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-26 13:59:51