Скомпилируйте дочерний процесс и скопируйте двоичные файлы - PullRequest
0 голосов
/ 30 августа 2018

В настоящее время у меня есть проект A (64-битный), который ссылается на проекты B, C и D (все 32-битные). И я установил Copy Local = True, чтобы все проекты компилировались, а двоичные файлы копировались в папку bin проекта А. Двоичные файлы B.exe, C.exe и D.exe все выполняются как дочерний процесс * 1006. *. Однако Visual Studio жалуется:

Произошло несоответствие между процессорной архитектурой строящегося проекта «AMD64» и процессорной архитектурой эталонного «проекта B» «x86». Это несоответствие может привести к сбоям во время выполнения. Рекомендуется изменить архитектуру целевого процессора вашего проекта с помощью Configuration Manager, чтобы согласовать архитектуры процессора между вашим проектом и ссылками, или взять зависимость от ссылок с архитектурой процессора, которая соответствует целевой архитектуре процессора вашего проекта.

Должен ли я просто игнорировать предупреждение? Или я должен просто опубликовать события сборки, чтобы создать и скопировать другие проекты? Каков наилучший подход?

1 Ответ

0 голосов
/ 03 сентября 2018

Скомпилируйте дочерний процесс и скопируйте двоичные файлы

AFAIK, боюсь, вы не можете игнорировать это предупреждение. Это несоответствие может привести к сбоям во время выполнения. Точно так же, как Марио сказал в этой теме :

64-битный исполняемый файл не может вызвать 32-битную DLL и наоборот. Если только ты не на самом деле ваше приложение должно быть 64-битным, самый простой вариант установите его на целевой x86. Это все еще позволит ему работать на 32 и 64-битные версии Windows.

Чтобы устранить это предупреждение, вы можете выбрать x86 для EXE-проекта A или просто использовать события после сборки для создания и копирования других проектов. Проверьте эту похожую тему для деталей.

Надеюсь, это поможет.

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