我认为您只是使用Debug/ARM64 解决方案平台来构建您的解决方案,但其他项目是使用其他平台构建的,导致一些项目使用x86 构建,而另一些项目使用ARM64。
提示 1
如果你想使用Solution Platform Debug/ARM64将所有项目构建到ARM64一次,你应该打开Build-- > 配置管理器
虽然您已将解决方案平台设置为ARM64,但您也可以将项目平台更改为其他。最终,构建过程仍然基于项目平台。
您应该将每个项目平台更改为ARM64,然后在构建解决方案时,它会将每个项目构建到ARM64输出文件夹。
提示 2
只是猜测,如果猜测错误,忽略它
=============================
如果您构建您的项目之一,一些文件位于项目文件夹的 bin\ARM64 中,而其他二进制文件位于项目文件夹的 bin\x86 中。
如果是这样,您应该为每个此类项目执行复制任务。
<Target Name="CopyFiles" BeforeTargets="Build">
<ItemGroup>
<Files Include="bin\x86\Debug\xxx.xxx // Any binary files"></Files>
</ItemGroup>
<Copy SourceFiles="@(Files)"
DestinationFolder="bin\ARM64\Debug"></Copy>
</Target>
将此目标添加到此类项目的任何xxx.csproj 文件中。
===========================================
更新 1
其实,在用ARM64构建项目时,vs中有这样一个选项,可以在x86中指定一些需要编译的项目文件。
指定在哪个平台上构建项目,然后基于该平台构建项目中的所有文件。
所以我建议您可以使用 Batch Build 在X86 和ARM64 上构建项目,然后使用我的CopyFiles 目标将这些x86 文件复制到ARM64构建期间的文件夹。
首先,将此目标添加到xxx.csproj文件中:
然后,点击Build菜单-->Batch Build
点击Build同时执行,在执行过程中,目标会被触发。
此外,也许更简单的方法是将文件从x86 文件夹手动复制到ARM64 文件夹。这样可以确保不容易犯错误。
另外,如果您仍然想要 VS 中的这个自动选项,您可以在我们的User Voice Forum 上提出功能请求。团队会认真考虑您的要求,给您满意的答复。