Сразу же приходят на ум две вещи, чтобы убедиться, что вы улучшаете производительность:
keywords
проиндексировано. Операция array-contains
стоит дорого, и это может помочь. Нет никакого автоматического инструмента, который я знаю (если некоторое коммерческое решение не было недавно разработано). Но если бы у Вас есть большое количество проектов преобразовать (100 с) затем, это, вероятно, стоило бы Вашего, в то время как записать небольшую программу, чтобы сделать это для Вас (мы - программисты, в конце концов, :)). Файлы проекта являются допустимыми XML-файлами. Просто преобразуйте один или два вручную и отметьте различия/изменения, сделанные в файлах проекта. Это не изменяет все так очень, когда Вы обновляете с 2005 до 2008. Запись программы для внесения тех же изменений в огромную группу файлов проекта не была бы слишком трудна.
Я всегда использую свободный AutoHotkey для выполнения повторяющихся задач.
При записи мыши/действий клавиатуры с помощью одного проекта, можно затем повторно выполнить те действия для ряда проектов.
Можно отредактировать макрос вручную, если некоторые проекты требуют каких-либо различных вариантов.
Недавно я столкнулся с той же проблемой и использовал сценарий Windows Powershell, чтобы Visual Studio выполнила обновление за меня с помощью переключателя командной строки / 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!"