首页 > 解决方案 > 有没有办法强制 msbuild 只构建 x64?

问题描述

在我的 C# 解决方案的所有组件项目中,“平台目标”在 Project>Properties>Build 中设置为 x64。但是,Platform 属性仍然是“Active (Any CPU”),这是唯一的选项。在构建日志中,我可以看到它正在复制某些 nuget 包的 x64 和 x86 版本。两个问题:

标签: visual-studiomsbuildcsproj

解决方案


下面的Platform目标Project>Properties>Build不是您构建过程的正确选择。该选项是告诉项目程序集是为哪个平台编译的,而不是你的 nuget 包。因此,该选项无法更改构建平台,并且您的 nuget 包仍然使用构建平台来判断将哪个版本的 dll 复制到主项目输出文件夹中。

更多信息可以参考这个文档

建议

您可以在Build下使用Configuration Manager

在此处输入图像描述

在此处输入图像描述

您应该找到您的项目,然后选择x64构建您的项目平台。如果您没有x64,则必须单击新建来创建它。

更新 1

您的构建配置一团糟。所以请先进入每个项目的Properties --> Build --> change Platform targettoAny CPU做一个restore操作。

然后,进入您的配置管理器,如果有的话,删除Active Solution PlatformProject Platform下的任何x64和平台。然后,单击Active Solution Platform,然后创建一个新平台。x86x64

这将为每个项目设置统一的平台设置。

你可以参考这个类似的问题


推荐阅读