Как правильно загрузить 32-битные зависимости DLL при запуске программы из командного файла - PullRequest
0 голосов
/ 11 мая 2010

Я написал инструмент, который ссылается на Microsoft.TeamFoundation.VersionControl.Client.dll, который является 32-битной DLL.

Когда я собираю свой инструмент на 64-битной Windows, я настраиваю Visual Studio специально на X86, чтобы принудительно установить его на 32-битную сборку.

Ориентация на X86 вместо всех процессоров не позволяет мне получить исключение BadImageFormatException, , пока я вызываю инструмент напрямую (например, набрав "myTool.exe" в командной строке) . Однако, если я запускаю командный файл, который вызывает инструмент, я все равно получаю исключение. Это происходит, даже если командный файл запускается в 32-разрядной командной строке (% WINDIR% \ SysWOW64 \ cmd.exe).

Что еще я могу сделать, чтобы сделать эту работу?

1 Ответ

0 голосов
/ 11 мая 2010

Поскольку это 64-битная машина, на которой вы запускаете командную строку, она работает в 64-битной среде. Вот как вы открываете и запускаете 32-битную командную строку:

http://www.tipandtrick.net/2008/how-to-open-and-run-32-bit-command-prompt-in-64-bit-x64-windows/

Я бы тоже это проверил:

http://www.devnewsgroups.net/group/microsoft.public.dotnet.framework/topic46570.aspx а также http://filips.net/archives/2008/01/17/getting-badimageformatexception-in-64-bit-windows/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...