Установка MS Debug DLL для удаленной отладки
У меня есть приложение.NET, которое я хотел бы установить на ВМ для удаленной отладки.
Приложение использует встроенную библиотеку VC++ DLL, которая связывается с MFC и библиотеками времени выполнения MSVC через DLL.
Когда я запускаю, зависит от виртуальной машины, он говорит, что DLL нужны следующие библиотеки DLL:
mfc90d.dll
msvcm90d.dll
msvcp90d.dll
msvcr90d.dll
msjava.dll
Также сообщается о следующей ошибке:
Ошибка: информация о конфигурации Side-by-Side для [путь dll] содержит ошибки. Это приложение не удалось запустить из-за неправильной конфигурации приложения. Переустановка приложения может решить эту проблему (14001).
Я бы предпочел не устанавливать полную версию Visual Studio 2008 на виртуальную машину, просто чтобы отладить это.
Каков наилучший метод для установки необходимых DLL на ВМ?
3 ответа
DLL отладки предоставляются в подкаталоге vc\Debug_NonRedist. Правильное их развертывание объясняется в этой статье библиотеки MSDN.
После обновления пакета обновления 1 (SP1) в версии 2008 произошла ошибка, из-за которой версии манифеста не обновлялись. Чтобы обойти это, я должен был сделать это на удаленной машине:
изменить Microsoft.VC90.DebugCRT.manifest изменить версию ="9.0.30729.4148" на версию ="9.0.21022.8"
редактировать Microsoft.VC90.DebugMFC.manifest
изменить версию ="9.0.30729.4148" на версию ="9.0.21022.8"
[обновление] В поисках ссылки для этого я нашел
Важное замечание: Если вы делаете это с помощью Visual Studio 2008 с пакетом обновления 1 (SP1), убедитесь, что в предварительно скомпилированном заголовке указано следующее:
#define _BIND_TO_CURRENT_VCLIBS_VERSION 1
http://qualapps.blogspot.com/2008/07/visual-studio-2008-c-redistributable.html
Можно установить отладочные распространяемые файлы для VC++. Microsoft даже дает их вам. Вам просто нужно держаться подальше от тех, которые находятся в каталоге system32, поскольку они не работают, просто копируя их на другой компьютер.
Проверьте этот блог: http://wdy501.blogspot.com/2010/07/dealing-with-visual-studio.html
И я использовал блог, чтобы найти отладочные.dll для VS 2012, и мне удалось скопировать их на другой компьютер и запустить отладочную версию. Просто имейте в виду, что MS помещает файлы "debug_nonRedist" в структуру каталогов с меткой "Microsoft Visual Studio 11.0". Вот полный путь, по которому я нашел нужные отладочные библиотеки CRT:
C: \ Program Files (x86) \ Microsoft Visual Studio 11.0 \ VC \ redist \ Debug_NonRedist \ x86 \ Microsoft.VC110.DebugCRT
Единственное преимущество, которое я вижу для себя в использовании отладочных версий, заключается в том, что я могу оставаться в режиме отладки на моем компьютере-разработчике и быстро перенести код на другой компьютер для тестирования в слегка другой среде. Я не вижу веской причины использовать отладочную версию в финальной версии.