2010-10-07 3 views
2

У нас есть (в основном) приложение C#/WPF, которое вызывает некоторые библиотеки C++ через interop.Есть ли версия VC++ 2008 Redistributable Package с DLL DEBUG?

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

В любом случае программа barfs с ужасной ошибкой 0x800736B1, загружающей dll C++. По-видимому, это (по крайней мере, пока мы не найдем следующий камень преткновения), вызванный отсутствием отладочной версии библиотек времени исполнения VC++, установленных на целевой машине.

Есть ли версия распространяемого пакета VC++ с библиотеками отладки, или, если это не так, есть ли «предпочтительный» способ размещения этих библиотек на тестовой машине?

Спасибо, WTS

+2

Вы посмотрели на это? http://msdn.microsoft.com/en-us/library/aa985618%28VS.80%29.aspx. Также посмотрите http://msdn.microsoft.com/en-us/library/ms235299.aspx – Tim

+0

Идеальный - спасибо! Я искал именно такой документ - мой Google Fu провалил меня. –

ответ

1

Если целевая машина находится под вашим контролем, вы можете установить Visual Studio на нем. Это приведет к развертыванию отладочной версии среды выполнения.

В качестве альтернативы, скопируйте бок о бок библиотеки с вашей машины разработки на целевую машину. Смотрите в %windir%\WinSxS. На моей машине dev (VS 2008 SP1) они находятся в следующих папках:

%windir%\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_597c3456 
%windir%\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_f863c71f 
%windir%\WinSxS\x86_Microsoft.VC90.DebugCRT_1fc8b3b9a1e18e3b_9.0.30729.4148_x-ww_5d84dd2f 
%windir%\WinSxS\x86_Microsoft.VC90.DebugMFC_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_2a62a75b 
%windir%\WinSxS\x86_Microsoft.VC90.DebugMFC_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_c94a3a24 
%windir%\WinSxS\x86_Microsoft.VC90.DebugMFC_1fc8b3b9a1e18e3b_9.0.30729.4148_x-ww_2e6b5034 
%windir%\WinSxS\x86_Microsoft.VC90.DebugOpenMP_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_72b673b0 
%windir%\WinSxS\x86_Microsoft.VC90.DebugOpenMP_1fc8b3b9a1e18e3b_9.0.30729.4148_x-ww_76bf1c89 
+1

Я бы не рекомендовал вручную копировать SxS (пропуская все записи). – YeenFei

+0

Ну, я на самом деле сделал это один раз без каких-либо проблем (они не являются COM-библиотеками, зачем им нужно регистрироваться?). Но YMMV :) –

+0

Я, вероятно, выберу это как ответ, так как это вместе с комментарием Тима выше, позволило мне установить файлы (как и исходный квицио). Тем не менее, я все еще получаю те же ошибки, и DependencyWalker все еще говорит, что файлы MSVCM90 * не могут быть найдены. Однако он пытается найти его в локальном каталоге, поэтому почти так, как если бы они не регистрировались при установке. –

2

Ниже приведены официальные инструкции по эксплуатации.

Preparing a Test Machine To Run a Debug Executable

Используйте Merge Modules установить отладочную версию конкретной библиотеки Visual C++ в качестве общих бок о бок сборок в родной кэш сборки (папка WinSxS).

How to Deploy a Setup and Deployment Project

Смежные вопросы