我遇到了一种情况,我希望将首选32位设置为true。但在Visual Studio 2012中,它显示为已禁用。无论我做什么,它都无法启用。
我读到任何CPU 首选32位是所有新项目的默认值。那么,我应该假设虽然它被禁用但它被设置为true?那么如何将其设置为任何CPU ?
在 What AnyCPU Really Means As Of .NET 4.5 and Visual Studio 11 以及Stack Overflow中的许多其他帖子和问题中,它说:
总的来说,/ platform C#编译器交换机现在有五个选项:x86,Itanium,x64,anycpu和anycpu 32bit首选
更重要的是,我有一些同事向我提到,过去那个复选框已启用(可能是错误的?)。
为什么首选32位复选框已禁用,如何重新启用?
我的处理器是64位,我已将Update2应用于Visual Studio 2012。
答案 0 :(得分:47)
假设您有一个可执行项目,那么如果您将目标平台更改为.NET 4.5,它应该已启用。
它只是一个.NET 4.5,它只对可执行文件启用。
答案 1 :(得分:4)
如果有人在Visual Studio 2013(可能还有Visual Studio 2012)中遇到.NET 4.5可执行文件:
我们通过将项目切换到.NET 4.0然后返回.NET 4.5(在项目属性的Build选项卡上)来解决它。这为AnyCPU重新启用了“首选32位”复选框。
答案 2 :(得分:1)
如果您的项目是单元测试项目,则也可能禁用此设置。事实证明,设置不是我的问题。我通过更改Visual Studio测试运行器以将测试作为64位进程运行来运行测试。
在Visual Studio Community 2015中,我在“测试”菜单中找到了它:
测试>测试设置>默认处理器体系结构> X64
有关Microsoft的更多信息,请参见:
https://msdn.microsoft.com/en-us/library/ee782531.aspx