.lib и.dll обратная совместимость

В настоящее время у меня есть неуправляемая библиотека C VS6, которую я поставляю как.lib или.dll. Я хочу обновить до VS2010, но у меня все еще есть пользователи, которые находятся в VS6, VS2005 и VS2008.

Можно ли использовать.lib или.dll, встроенные в VS2010, в VS6, VS2005 или VS2008?

Спасибо!

2 ответа

Это зависит от времени выполнения, используемого для сборки библиотек. Обычно я сталкиваюсь с этой проблемой при обновлении решений с VS2005 до VS2008. Библиотеки времени выполнения по умолчанию отличаются от выпуска к изданию.

Когда вы создаете.lib и.dll, эти файлы связываются с этими выпусками среды выполнения. Проблемы обычно обнаруживаются, когда вы отлаживаете программу между различными редакциями VS или запускаете ее на компьютере, не являющемся разработчиком, когда сборки, созданные с разными средами выполнения, пытаются передать информацию через границы. См. http://msdn.microsoft.com/en-us/library/abx4dbyh.aspx для получения подробной информации.

Я знаю, что это старый пост, но если кто-то еще сталкивается с этим, это может быть полезно, переход с vc6 на vs2010 - это кошмар, но есть альтернатива. Вы можете обновить среду VS2010, продолжая использовать компилятор vc6. инструмент, который вам нужен, это Daffodil, его можно найти здесь http://daffodil.codeplex.com/

Это было наше решение, потому что среда VS2010 стала более продуктивной.

Другие вопросы по тегам