2009-02-10 14 views

Odpowiedz

1

Nie ma automatycznego narzędzia, które znam (chyba że niedawno opracowano jakieś rozwiązanie komercyjne). Ale jeśli masz dużo projektów do konwersji (100), to prawdopodobnie warto poświęcić chwilę na napisanie małego programu, który to zrobi dla ciebie (w końcu jesteśmy programistami :)). Pliki projektu są poprawnymi plikami XML. Po prostu przekonwertuj jeden lub dwa ręcznie i zanotuj różnice/zmiany dokonane w plikach projektu. Nie zmienia się tak bardzo, gdy uaktualnia się w latach 2005-2008. Pisanie programu, który wprowadziłby te same zmiany w ogromnej grupie plików projektu, nie byłoby zbyt trudne.

1

Zawsze używam darmowego AutoHotkey do wykonywania powtarzalnych zadań.

Jeśli nagrywasz operacje myszy/klawiatury przy użyciu jednego projektu, możesz ponownie uruchomić te działania dla zestawu projektów.

Możesz edytować makro ręcznie, jeśli niektóre projekty wymagają innych opcji.

4

Niedawno natknąłem się na ten sam problem i używane skryptu Windows PowerShell uzyskać Visual Studio, aby wykonać aktualizację dla mnie za pomocą przełącznika wiersza poleceń /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

lekko zmodyfikowaną wersję Casey, która jest dla VS 2010 i czeka na zakończenie konwersji. To również kopiuje plik rozwiązania na jeden zx przed .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!"