Могу ли я использовать более новые версии Visual Studio для старых вещей?

У меня есть несколько библиотек DLL на основе ATL / COM, на которых я использовал Visual C ++ 6.0. Мне требуется пара "старых" вещей из сгенерированных DLL:

(1) Они должны быть совместимы с проектами, разработанными в Visual Basic 6.0 (старый VB6, категорически не VB.Net).

(2) Они должны быть совместимы со старыми операционными системами - минимум Windows 98 SE. Чтобы быть ясным, я имею в виду, что они должны работать на таких ОС, а не на то, что мне нужно было бы иметь возможность разрабатывать их на машине, на которой работает такая ОС.

Мне надоела Visual Studio 6.0. Преобразование в Dot Net (или любое другое подобное изменение) в настоящее время исключено, поэтому я должен продолжать использовать VB6. Но могу ли я переключиться на новую версию Visual Studio C ++ с минимальными усилиями (т.е. с минимальным перекодированием, если оно вообще требуется)?

Если да, то есть ли какие-то "подводные камни", которых я должен остерегаться?

Спасибо.


person Ptah- Opener of the Mouth    schedule 31.03.2010    source источник


Ответы (2)


Различные версии VS.Net могут до некоторой степени открывать более старые проекты .Net, но ни одна из них не может открыть что-либо до .NET, что включает 6.0 на любом языке.

Вы должны иметь возможность создать новый проект C ++ в одном из приложений .Net VS и перестроить там свой проект C ++, и он должен работать, потому что неуправляемый код C ++ не требует среды выполнения .Net (и он по-прежнему компилируется в собственный машинный код ), но я уже давно не разбираюсь в C ++, поэтому я не уверен на 100%, что он будет работать.

person Charles Boyung    schedule 31.03.2010
comment
Руководство по VC ++ вам противоречит. Вы можете обновить проекты до C ++ 4.0 в последней версии Visual Studio. msdn.microsoft.com/en-us/library /kyb7zzw4(v=VS.80).aspx - person MarkJ; 01.04.2010
comment
Это ничего не противоречит тому, что я сказал. Он просто подтверждает и расширяет его. - person Charles Boyung; 01.04.2010
comment
А? Разве вы не говорили, что ни один из них не может открыть что-либо до .Net, что включает 6.0 на любом языке? Но они могут, они могут вернуться к 4.0. - person MarkJ; 01.04.2010

Да, но это слегка болезненно. Вот почему большинство магазинов придерживаются VC6. Признаюсь, я не тестировал COM DLL в Windows 98, но еще в NT 4.0 с Visual Studio 2005.

Хочу подчеркнуть, что здесь нет минимальных усилий. В зависимости от того, как написан ваш код, преобразование может быть довольно болезненным. В одном проекте поиск и замена исправили 9 из 10 проблем. YMMV. Возможно, вам придется переписать часть низкоуровневой сантехники COM.

person pestilence669    schedule 31.03.2010