Лучший способ сделать bindingRedirect для версий Microsoft DLL? - PullRequest
1 голос
/ 20 апреля 2011

Я думал, что понял это барахло ....

У меня есть exe-файл, скомпилированный для использования dll MFC версии 9.0.21022.8, и я пытаюсь установить его на компьютер, на котором нет x86_ vc9 что-либо - вообще нет x86. Просто драм.

В любом случае, я думал, что у меня в инсталляторе есть то, что мне нужно, но похоже, что файлы находятся не в том месте, где находится exe-файл, и у меня нет нужных записей bindingRedirect.

У меня есть MS dll в каталогах в моем каталоге exe, например:

Exe Dir \ Microsoft.VC90.MFC \ dll и манифест

Exe Dir \ Microsoft.VC90.CRT \ dll и манифест

DLL-файлы и манифест для версии 9.0.30729.1.

Во-первых, должны ли dll и манифест просто находиться в каталоге exe, а не в подкаталогах?

Во-вторых, я поместил зависимость с разделом depenAssembly, содержащим записи bindingRedirect в каждом манифесте, но все равно не повезло. Это место, чтобы поставить его? Должен ли я просто вставить материал bindingRedirect в манифест приложения?

Любая помощь / идеи приветствуются.

1 Ответ

0 голосов
/ 10 октября 2011

Вернуть файлы поддержки обратно к 9.0.21022.8. Процесс компиляции / компоновки будет использовать любую версию, установленную для Visual Studio. Это означает, что в этом случае созданные двоичные файлы будут по умолчанию использовать 9.0.21022.8. Если бы я установил пакет обновления VS или обновление, которое требовало использования более новой версии dll, скажем, для элемента управления или чего-то еще, то моим двоичным файлам потребовалась бы эта версия, и я должен был бы нести это в моих файлах поддержки.

...