2009-02-10 23 views

Respuesta

1

No conozco ninguna herramienta automática (a menos que se haya desarrollado una solución comercial recientemente). Pero si tienes una gran cantidad de proyectos para convertir (100s), entonces probablemente valga la pena escribir un pequeño programa para hacer esto por ti (somos programadores, después de todo :)). Los archivos del proyecto son archivos XML válidos. Simplemente convierta uno o dos de forma manual, y tenga en cuenta las diferencias/cambios realizados en los archivos del proyecto. No cambia mucho cuando actualiza de 2005 a 2008. Escribir un programa para hacer los mismos cambios en un gran grupo de archivos de proyecto no sería demasiado difícil.

1

Siempre utilizo el AutoHotkey gratuito para realizar tareas repetitivas.

Si registra las acciones de su mouse/teclado utilizando un proyecto, puede volver a ejecutar esas acciones para un conjunto de proyectos.

Puede editar la macro manualmente si algunos proyectos requieren opciones diferentes.

4

Recientemente me encontré con el mismo problema y se utiliza una secuencia de comandos de Windows PowerShell para obtener Visual Studio para hacer la actualización para mí con el interruptor de la línea /upgrade comando

$slnFiles = ls C:\source -Filter *.sln -Recurse 
$devenv = "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe" 
$i = 1 
foreach ($sln in $slnFiles) 
{ 
    "Upgrading Solution " + $i++ + ": " + $sln.FullName 
    &$devenv /upgrade $sln.FullName 
} 
"Done!" 
2

versión ligeramente modificada de Casey de que es una de VS 2010 y espera a que se complete la conversión. Esto también copia el archivo de solución a uno con una x antes del .sln.

$slnFiles = ls "C:\projects\source\" -Filter *.sln -Recurse 
$devenv = "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe" 
$i = 1 
foreach ($sln in $slnFiles) 
{ 
    "Upgrading Solution " + $i++ + ": " + $sln.FullName 
    Start-Process -Wait $devenv -ArgumentList /NoSplash,/upgrade,$sln.FullName 
    $name = $sln.name -replace ".sln", "x.sln" 
    Rename-Item $sln.FullName -NewName $name 
} 
"Done!" 
Cuestiones relacionadas