5

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

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

4

4 回答 4

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!"
于 2009-09-08T03:42:12.020 回答
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!"
于 2011-03-01T12:21:40.473 回答
1

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

于 2009-02-11T06:27:36.797 回答
1

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

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

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

于 2009-02-22T07:43:26.713 回答