2009-02-10 6 views

Répondre

1

Je ne connais aucun outil automatique (à moins qu'une solution commerciale n'ait été développée récemment). Mais si vous avez un grand nombre de projets à convertir (100s) alors il serait probablement utile d'écrire un petit programme pour le faire pour vous (nous sommes des programmeurs, après tout :)). Les fichiers de projet sont des fichiers XML valides. Convertissez-en un ou deux manuellement et notez les différences/modifications apportées aux fichiers du projet. Cela ne change pas grand-chose lorsque vous effectuez une mise à niveau de 2005 à 2008. Rédaction d'un programme pour apporter les mêmes modifications à un grand groupe de fichiers de projet ne serait pas trop difficile.

1

J'utilise toujours le AutoHotkey gratuit pour effectuer des tâches répétitives.

Si vous enregistrez vos actions de souris/clavier à l'aide d'un projet, vous pouvez ensuite réexécuter ces actions pour un ensemble de projets.

Vous pouvez modifier la macro manuellement si certains projets nécessitent des options différentes.

4

Je suis récemment tombé sur le même problème et utilisé un script Windows PowerShell pour obtenir Visual Studio pour faire la mise à niveau pour moi à l'aide du commutateur de ligne de commande /upgrade

$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

version légèrement modifiée qui est pour VS Casey 2010 et attend la fin de la conversion. Cela copie également le fichier de solution à un avec un x avant le .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!" 
Questions connexes