有没有办法强制 msbuild 只构建 x64?

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

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

  • 如果我已经指定了为什么是 x64,为什么它仍然复制 x86 包?
  • 有没有办法消除“任何 CPU”作为平台选项并仅构建 x64?
visual-studio msbuild csproj
2个回答
2
投票

Project>Properties>Build下的

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

更多信息您可以参考此文档

建议

您可以使用Build下的Configuration Manager

enter image description here

enter image description here

您应该找到您的项目,然后选择

x64
来构建您的项目平台。如果您没有
x64
,则必须单击 New 来创建它。

更新1

您的构建配置一团糟。所以请先进入各个项目Properties-->Build-->将

Platform target
改为
Any CPU
进行恢复操作。

然后,进入您的配置管理器,删除

Active Solution Platform
Project Platform
下的任何x64x86平台(如果有)。然后,单击 Active Solution Platform,然后创建一个新的
x64
平台。

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

您可以参考这个类似问题


0
投票

如何转换 Windows x64 的代码? https://github.com/sq5bpf/telive/blob/master/telive.c

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