以编程方式升级Visual Studio解决方案和项目文件

时间:2013-06-12 10:25:43

标签: c# .net visual-studio

我有很多可视工作室项目,使用安装程序交付给客户。安装完成后,所有项目和解决方案文件都应该是最新安装的Visual Studio版本。有没有办法转换很多项目快速

我试过以下:

1)解析文件并替换不同的属性,如ToolsVersion等。它很快但不可靠,应该针对每一个进入市场的新Visual Studio进行更改(从现在开始每年AFAIK)

2)使用devenv升级功能,可靠但非常慢:

string[] files = Directory.GetFiles(@"c:\MyTmp", "*.sln", SearchOption.AllDirectories);
foreach (string file in files)
{
    Process process = new Process();
    process.StartInfo.FileName = pathToTheLatestVS;
    process.StartInfo.Arguments = "/Upgrade \"" + file + "\"";
    process.Start();
    process.WaitForExit();
}

3)尝试创建一个隐藏的VS实例并按照here所述操作解决方案,但没有运气。

那么可以快速可靠地将许多项目/解决方案文件升级到特定的Visual Studio版本吗?

1 个答案:

答案 0 :(得分:2)

让我给你一个不同于你所呈现的2的观点。 升级缓慢的事实是对您尝试升级的项目/解决方案执行各种检查。生成“升级报告”以提供有关这些检查的反馈。这是不应忽视的信息,因为它为上述问题提供了补救措施。

您声明通过安装程序部署项目/解决方案。假设您拥有最新的开发团队/工具,您可以在安装程序设计/开发过程中执行升级。为什么不自行执行升级并在安装程序中包含项目文件。在安装过程中,您将安装与目标平台匹配的项目/解决方案文件的版本。