![](/img/trans.png)
[英]How to programmatically open project/solution in already running Visual Studio?
[英]Upgrade Visual Studio solution and project files programmatically
我有很多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的隐藏实例,并按此处所述从那里操纵解决方案,但是没有运气。
那么有可能以快速,可靠的方式将许多项目/解决方案文件升级到特定的Visual Studio版本吗?
让我向您介绍与您提出的两种观点不同的观点。 升级缓慢的事实是,对您尝试升级的项目/解决方案执行了各种检查。 生成“升级报告”以提供有关这些检查的反馈。 这是不容忽视的信息,因为它提供了上述问题的补救措施。
您声明已通过安装程序部署项目/解决方案。 假设您拥有最新的开发团队/工具,则可以在安装程序设计/开发过程中执行升级。 为什么不自己执行升级,而在安装程序中包含项目文件。 在安装过程中,您将安装与目标平台匹配的项目/解决方案文件的版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.