【问题标题】:What's the difference between Target CPU and Platform in Visual Studio 2013?Visual Studio 2013 中的目标 CPU 和平台有什么区别?
【发布时间】:2016-04-17 02:58:39
【问题描述】:

在 VS 2013 中,在项目属性中的编译中,我看到两个配置似乎与同一件事相关(打印屏幕右下方)。平台和目标 CPU。

有什么区别?有没有?

【问题讨论】:

  • 解决方案平台名称仅在您的解决方案具有任何 C 或 C++ 项目时才相关。它们需要使用不同的编译器和链接器进行不同的构建。 VB.NET 项目不是问题,它只有一个编译器。最终程序是以 32 位还是 64 位模式运行取决于您运行的操作系统。以及您对 Target CPU 设置要求的抖动,有时强制 32 位模式是有意义的,即使它在 64 位操作系统上运行。
  • 平台名称是用户可配置的字符串,但默认链接到目标 CPU。
  • @HansPassant,如果您的 VB 代码使用 P/Invoke DllImport 或当您使用 Pointer 魔法或当您想从 x64 或哇注册表 hyves。
  • 嗯,那当然是“有时”子句。

标签: .net vb.net visual-studio visual-studio-2013 msbuild


【解决方案1】:

默认情况下,平台字符串与目标 CPU 或混合的相同。但是,由于 Platform 是一个用户可配置的字符串,您可以给它们起任何名称或将它们与目标 CPU 分离。

我不建议将它们解耦,因为它可能会非常混乱。

但正如您的屏幕截图所示,可以创建名为 AnyCPU 的解决方案配置或项目配置,但将您的项目配置为构建 x86。令人困惑,但可能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 2011-05-04
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多