我希望我的应用程序是为x64构建的(因为我使用的是x64 dll)。在配置管理器中,我将“活动解决方案平台”设置为"x64“,但是在项目列表平台中将"x86”设置为“x86”。项目属性中的“平台目标”也设置为"x86“。
我完全搞不懂有三个地方可以设置目标平台:
活动解决方案platform
例如,我可以将活动解决方案平台设置为x64,将platform设置为x86,将Project设置为x64。这意味着什么?
有人能描述这些选项到底意味着什么,以及它们应该如何一起使用吗?如何编译成x64?
发布于 2012-02-11 09:56:35
Active解决方案平台允许您为每个项目配置特定的配置组合。项目平台允许您为项目进行特定的配置设置。这两个设置实际上并没有告诉您要用哪个平台构建解决方案和项目,这只是一个您可以更改实际设置的配置集。
默认情况下,x64设置将专门为x64设置要编译的项目,但通过属性在项目属性中是可以更改的(尽管将现有配置集的目标更改为其名称以外的任何内容会非常混乱)。
每个项目的Platform目标属性是用于判断项目程序集是为哪个平台编译的设置。如果项目不依赖于需要特定平台工作的组件,则建议设置AnyCPU。
AnyCPU设置将导致程序集为JIT:ed
有关进一步信息,请参见this question。
对于您的示例,将活动解决方案平台设置为x64,将platform设置为x86,将Project设置为x64,这意味着当选择该解决方案配置时,项目程序集将仅构建为64位,如果您试图在32位平台上运行它,则会导致错误。
如果您依赖于64位纯资源(如64位dll ),则应使用x64设置。相应地,如果您依赖于仅32位的资源,则应该使用x86设置。
配置管理器设置可以用来改变构建项目的方式,例如,为x86/x64甚至调试/发布使用不同的引用程序集,比如in this question。配置集表示为可在构建配置中使用的变量,以控制要包含哪些内容以及要为特定配置运行哪些构建任务。查看带有记事本的项目文件,您将看到它是如何使用的。
https://stackoverflow.com/questions/9225017
复制相似问题