Это продолжение вопроса , который я задавал ранее. В двух словах, я запускаю 64-битную версию cmd из visual studio (32-битное приложение). Я делаю это потому, что мне нужно запустить команду oscdimg.exe, которая доступна только из 64-битной версии cmd.
<Target Name="AfterBuild">
<Exec Command="%windir%\sysnative\cmd.exe /c "$(ProjectDir)test.bat UPLOAD"" WorkingDirectory="$(ProjectDir)" />
</Target>
Теперь, когда все работает нормально, я получаю следующую ошибку.
ошибка MSB3073: команда "% windir% \ sysnative \ cmd.exe / c" C: \ XXXX \ XXX \ XXX \ test.bat UPLOAD "" завершена с кодом -1.
Пока эта ошибка не нарушает мою работу. Это означает, что пакет успешно выполняет свои задачи, но все же приятно исправить это сообщение об ошибке, поскольку другие члены моей команды задают вопрос об этом сообщении.
Я предполагаю, что эта ошибка запускается потому, что хотя Visual Studio является 32-битным приложением, сборка или exe c требует приложения windows операционной системы, которое может быть 64-битным приложением. И 64-разрядное приложение не может видеть виртуальную папку sysnative .
Есть ли способ устранить эту ошибку?
РЕДАКТИРОВАТЬ: Добавлен аргумент в команду для имитации реального использования и показать причину, которую я добавляю "
.