批量升级VS2005的VS2005解决方案

时间:2009-02-10 22:44:59

标签: visual-studio-2008 visual-studio-2005 upgrade bulk

是否可以批量升级(许多同时)VS 2005项目到VS 2008。

我知道我可以一次打开一个,但是,我想一次选择10个升级并添加到新的解决方案。

4 个答案:

答案 0 :(得分:4)

我最近遇到了同样的问题并使用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!"

答案 1 :(得分:2)

Casey的稍微修改版本,适用于VS 2010并等待转换完成。这也会将解决方案文件复制到.sln之前带有x的解决方案。

$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!"

答案 2 :(得分:1)

我知道没有自动工具(除非最近开发了一些商业解决方案)。但是如果你有大量的项目要转换(100s)那么你可能值得花时间编写一个小程序为你做这个(我们毕竟是程序员:))。项目文件是有效的XML文件。只需手动转换一个或两个,并记下项目文件中的差异/更改。从2005年升级到2008年时,它并没有发生太大的变化。编写程序对大量项目文件进行相同的更改并不会太难。

答案 3 :(得分:1)

我总是使用免费AutoHotkey来执行重复性任务。

如果您使用一个项目录制鼠标/键盘操作,则可以为一组项目重新运行这些操作。

如果某些项目需要任何不同的选项,您可以手动编辑宏。