【问题标题】:What’s the best approach when migrating legacy projects across versions of visual studio?跨版本的 Visual Studio 迁移遗留项目时,最好的方法是什么?
【发布时间】:2008-09-10 22:45:20
【问题描述】:
我一直在思考我们内部有多少项目仍在使用 Visual Studio 6 进行开发,以及如何最好地将它们迁移到 Visual Studio 2008。这些项目涵盖 C/C++ 和 VB 风格.
让 VS2008 将工作空间转换为解决方案、修复任何编译错误并继续你的快乐方式会更好吗?或者,最好从一个干净的解决方案开始,然后通过项目丢弃死代码来跨项目迁移代码?
【问题讨论】:
标签:
visual-studio
migration
legacy
【解决方案1】:
Microsoft p&p 团队推荐了一些strategies 来回答这个问题。基本上,他们推荐您提到的项目方法。当然,他们假设的应用程序架构简洁,没有令人讨厌的、黑暗的角落,深夜的编码和大量的咖啡都是从那里涌现出来的。
让 VS2008 为您转换项目,看看修复错误需要多少努力。
【解决方案2】:
几年前,当我不得不将一个 VB6 应用程序转换为 VS2003 时,我运行了转换器,它产生了一些基本上可以编译的东西,但根本不是很好。我最终不得不修改它生成的大部分代码。
我会从一个干净的解决方案开始,然后在项目上运行转换器并仅复制您需要的代码。我注意到 VB6 项目和转换后的 VB.NET 项目 (WinForm) 之间的一大区别是内置控件。转换器会尝试保留您正在使用的控件类型,即使它们是旧的和过时的。因此,使用现代控件(文本框、选项卡控件等)创建新表单可能会更好地为您服务,然后复制您需要的代码。