вот ситуация, о которой я ищу отзывы:
- На работе одной из моих обязанностей является поддержка нескольких устаревших приложений, одно из которых мы назовем «LegacyApp». Он всегда компилировался с VS 6.0. (И в наши дни его мало трогают.)
- Он использует API, который обеспечивает доступ к некоторому специализированному оборудованию. Этот API создан другой группой в моей компании. Мы назовем этот API «ControllerAPI». Он всегда компилировался с VS 6.0.
- Разработчики LegacyApp также написали DLL-оболочку вокруг ControllerAPI, которую будет использовать LegacyApp. Мы назовем это «WrapperAPI». Я несу ответственность за поддержание этого. Он всегда компилировался с VS 6.0.
- WrapperAPI статически связывается с ControllerAPI.
- LegacyApp динамически создает чернила в соответствии с WrapperAPI.
- В своем следующем выпуске группа, которая делает ControllerAPI, начала компилировать его с помощью VS 2008, а не VS 6.0, как это было до этого момента.
Итак, вот мои вопросы:
- Поскольку WrapperAPI статически связан с ControllerAPI, мне нужно будет скомпилировать WrapperApi с VS 2008? Это правильно? (Я уже сделал это, в этом случае это был простой шаг.)
- Поскольку LegacyApp динамически связывается с WrapperAPI, могу ли я продолжать компилировать LegacyApp в VS 6.0? Если да, то есть ли что-то, что мне нужно сделать в моей компиляции WrapperAPI, чтобы убедиться, что это все еще так. Или мне нужно будет скомпилировать устаревшее приложение в VS 2008, чего я бы не хотел делать в настоящее время.
Итак, мой вопрос сводится к запуску приложений и библиотек DLL друг с другом, которые были скомпилированы с разными версиями Visual Studio, и имеет ли значение, связаны ли различные слои статически или динамически.
Спасибо за любой отзыв