gpt4 book ai didi

c# - 主动解决方案平台 VS 项目平台 VS 平台目标

转载 作者:IT王子 更新时间:2023-10-29 04:38:34 29 4
gpt4 key购买 nike

我希望我的应用程序是为 x64 构建的(因为我使用的是 x64 dll)。在配置管理器中,我将“事件解决方案平台”设置为“x64”但是在项目列表中平台设置为“x86”。项目属性中的“平台目标”也设置为“x86”

我完全混淆了设置目标平台的三个地方:

  • 配置管理器:主动解决方案平台
  • 配置经理:项目平台
  • 项目属性:平台目标

例如,我可以将 Active 解决方案平台设置为 x64,将项目平台设置为 x86,将项目目标设置为 x64。这意味着什么?

有人可以描述每个选项的确切含义以及它们应该如何一起使用吗?如何编译为 x64?

最佳答案

Active Solution Platform 允许您为每个项目配置特定的配置组合。项目平台允许您为项目进行特定的配置设置。这两个设置实际上并没有说明将使用哪个平台构建解决方案和项目,它只是一个配置集,您可以更改其实际设置。

默认情况下,x64 设置将项目设置为专为 x64 编译,但可以通过项目平台目标属性在项目属性中更改(尽管将现有配置集的目标更改为除了它的名字之外的任何东西)。

每个项目的Platform Target 属性是用于说明项目程序集针对哪个平台编译的设置。如果该项目对需要特定平台才能工作的组件没有任何依赖性,则推荐使用 AnyCPU 设置。

AnyCPU 设置将导致程序集被 JIT:ed 到

  • 32 位平台上的 x86
  • 64 位平台上的 x64

参见 this question了解更多信息。

对于您的示例,将 Active solution platform 设置为 x64,将 Project platform 设置为 x86 并将 Project target 设置为 x64 将意味着在选择该解决方案配置时,项目程序集将仅构建为 JIT 64 位,如果您尝试在 32 位平台上运行它。

如果您只依赖 64 位资源(例如 64 位 dll),则应使用 x64 设置。相应地,如果您依赖于仅 32 位资源,则应使用 x86 设置。

配置管理器设置可用于更改构建项目的方式,例如为 x86/x64 甚至调试/发布使用不同的引用程序集,如 in this question .配置集表示为可以在构建配置中使用的变量,以控制要包含的内容以及为特定配置运行哪些构建任务。使用记事本查看项目文件,您将了解它是如何使用的。

关于c# - 主动解决方案平台 VS 项目平台 VS 平台目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9225017/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com