我继承了一个Visual C ++项目,在一个文件中有大约四千行代码。代码与/clr:oldSyntax
编译得很好,但是当我在设计器中更改任何内容时,它会将其更新为新语法,然后中断所有内容。
如何防止设计人员将代码转换为新语法(gcnew
等)?如果无法做到这一点,那么将整个项目一次性转换为新语法的最快方法是什么?
答案 0 :(得分:1)
不幸的是,这是不可能的。 Windows Forms设计器在2003版本中停止支持旧的托管C ++语法。您必须恢复到该版本的Visual Studio以维护此代码库,或者咬住子弹并转换项目以使用新的C ++ / CLI语法。
我不知道您是否会发现从托管C ++转换为C ++ / CLI的自动化解决方案。您可以开始查看this question的答案。
根据我的个人经验/意见,在C ++ / CLI中工作时,设计人员遇到的麻烦超过了它的价值。我强烈考虑手工对表单类进行必要的修改,而不是让设计人员首先搞砸你的代码。 “如果没有破产,请不要修理它。”