编译子进程并复制二进制文件

问题描述 投票:0回答:1

目前我有一个项目A(64位)引用项目B,C和D(全32位)。我设置Copy Local = True,这样所有项目都被编译,二进制文件被复制到项目A的bin文件夹。二进制文件B.exeC.exeD.exe都作为A.exe的子进程运行。但Visual Studio抱怨:

正在构建“AMD64”的项目的处理器架构与参考“项目B”“x86”的处理器架构之间存在不匹配。这种不匹配可能会导致运行时故障。请考虑通过Configuration Manager更改项目的目标处理器体系结构,以便在项目和引用之间调整处理器体系结构,或者依赖于具有与项目的目标处理器体系结构相匹配的处理器体系结构的引用。

我应该忽略这个警告吗?或者我应该发布构建事件来构建和复制其他项目?什么是最好的方法?

visual-studio msbuild
1个回答
0
投票

编译子进程并复制二进制文件

AFAIK,恐怕你不能忽视这个警告。这种不匹配可能会导致运行时故障。就像马里奥说on this thread

64位可执行文件无法调用32位dll而反之亦然。除非您确实需要将应用程序设置为64位,否则最简单的选择是将其设置为目标x86。这仍然允许它在32位和64位版本的Windows上运行。

要解决此警告,您可以为EXE项目A选择x86,或者只使用后期构建事件来构建和复制其他项目。查看this similar thread了解详情。

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.