Visual C ++ Form Designer заменяет все мои «новые» на «gcnew» - PullRequest
1 голос
/ 16 февраля 2012

Я унаследовал проект Visual C ++ с примерно четырьмя тысячами строк кода в одном файле.Код прекрасно компилируется с /clr:oldSyntax, но когда я изменяю что-либо в конструкторе, он обновляет его до нового синтаксиса, а затем все ломается .

Как мне не дать конструктору преобразовать мой код в новый синтаксис (gcnew и др.)?Если это невозможно, каков самый быстрый способ сразу преобразовать весь проект в новый синтаксис?

1 Ответ

1 голос
/ 16 февраля 2012

К сожалению, это невозможно. Разработчик Windows Forms перестал поддерживать старый управляемый синтаксис C ++ еще в версии 2003. Вам придется либо вернуться к этой версии Visual Studio для обслуживания этой базы кода, либо откусить пулю и преобразовать проект для использования нового C ++ / CLI синтаксис.

Я не знаю, найдете ли вы много возможностей для автоматизированного решения для преобразования из управляемого C ++ в C ++ / CLI. Вы можете начать искать ответы на этот вопрос .

По моему личному опыту / мнению, дизайнер работает больше, чем стоит, работая в C ++ / CLI. Я бы настоятельно рекомендовал вручную внести необходимые изменения в ваши классы форм и не дать конструктору запутать ваш код. «Если это не сломано, не чините это.»

...