Visual C ++表单设计器用“gcnew”替换我的所有“新”

时间:2012-02-16 02:19:38

标签: visual-c++ clr windows-forms-designer

我继承了一个Visual C ++项目,在一个文件中有大约四千行代码。代码与/clr:oldSyntax编译得很好,但是当我在设计器中更改任何内容时,它会将其更新为新语法,然后中断所有内容

如何防止设计人员将代码转换为新语法(gcnew等)?如果无法做到这一点,那么将整个项目一次性转换为新语法的最快方法是什么?

1 个答案:

答案 0 :(得分:1)

不幸的是,这是不可能的。 Windows Forms设计器在2003版本中停止支持旧的托管C ++语法。您必须恢复到该版本的Visual Studio以维护此代码库,或者咬住子弹并转换项目以使用新的C ++ / CLI语法。

我不知道您是否会发现从托管C ++转换为C ++ / CLI的自动化解决方案。您可以开始查看this question的答案。

根据我的个人经验/意见,在C ++ / CLI中工作时,设计人员遇到的麻烦超过了它的价值。我强烈考虑手工对表单类进行必要的修改,而不是让设计人员首先搞砸你的代码。 “如果没有破产,请不要修理它。”