当我不得不这样做时,我创建了一个空白的 WinForm 和空白的控制台项目,然后比较了它们的差异。差异很小。我在 Visual Studio 中将所有项目作为 XML 文件打开,然后根据差异根据需要进行搜索和替换。效果很好。
然后我打开了每个项目并修复了所有错误,例如缺少入口点方法等。
另外,你可以录制一个临时宏来做一些平凡的事情。
根据评论更新
“Windows 窗体”和“控制台”应用程序之间的项目文件差异很小。也许我应该使用这项工作琐碎。
您只需将<OutputType>WinExe</OutputType> 更改为<OutputType>Exe</OutputType>。如果程序员不能在不出错的情况下对打开的文件进行简单的搜索和替换,那么他们就不应该在编程。
我必须为一个客户处理 50 多个应用程序。一位顾问告诉他们,做出改变需要一周的时间。我告诉我的客户,我可以在一个小时内现场完成。这项工作的难点在于堵车。
我以 XML 格式打开所有项目文件,然后使用搜索和替换“在打开的文档中”更改了项目文件中的 OutputType 和 StartupObject。
我创建了一个宏,它将添加一个“程序”VB.NET 模块和另一个用于具有所需“主”入口点和应用程序运行代码的 C# 类。
此时,我编写了一个小程序,可以在 Visual Studio 2008 中加载每个项目。我根据项目是 VB.NET 还是 C# 运行了相应的宏。我会修复任何错误,编译,运行应用程序,然后关闭。然后这个小程序用下一个项目启动另一个 Visual Studio。该实用程序最难的部分是获取所有项目的路径,因为我必须使用 DOS,如 dir /b /s *.vbproj > c:\project_listing.txt。
如果 OP 只有几个项目,那么我建议他们打开每个项目并进行必要的更改。
我使用类似的技术将大约 20 个 WinCE/WinForms&Console/VB.NET 项目转换为 Desktop/WinForms&Console/VB.NET 项目,在这些项目中我必须转换包含主要差异的项目和表单文件,尤其是表单文件。
在我看来,你们需要放松一下。十分钟后这些都不重要了。