从“任何CPU”更改为“ X64”

时间:2019-09-25 07:15:14

标签: visual-studio msbuild

以前,必须为32位和64位Windows创建我们的软件。现在,产品管理人员决定不再需要支持32位Windows(对于第三方SDK和驱动程序而言,这非常好)。

在我们几乎所有的200个项目中,DEBUG和RELEASE配置的“平台目标”仅是“ Any CPU”(只有某些第三方组件的包装程序专用)。当然,该软件将在具有此类设置的64位系统上运行。 但是仅针对64位编译可以允许更多编译器优化(或者我误会了吗?),因此我更愿意创建64位可执行文件。

How do I specify the platform for MSBuild?所示,不可能简单地在msbuild命令行中添加参数,而是必须更改每个项目...

最简单的方法是什么?还是我不需要关心,因为这样做没有好处?

注意:我们将C#与Visual Studio Professional 2015版本14.0.25425.01更新3一起使用。

1 个答案:

答案 0 :(得分:1)

  

不可能简单地在msbuild命令行中添加参数,而是必须更改每个项目...最简单的方法是什么?

1。就像您上面提到的链接中所述的那样,您可以轻松地为当前解决方案创建x64解决方案平台,确保已启用create new project platforms选项,并且VS将帮助配置{ {1}}平台,可用于所有200个项目。

2。但是,如果您的团队之前已经创建了x64解决方案平台,但目前部分项目仍然是x64,那么如果您不想一个接一个地更改它们,可以单击Any CPU下拉菜单并选择“编辑”,然后删除Active Solution Platform解决方案平台。之后,重新创建新的x64解决方案平台将有助于创建所有x64项目平台。

3。此外,在某些情况下,您可能需要对当前解决方案中的所有项目进行一些更改(自定义生成后事件...),但是手动执行此操作会花费很多时间。您可以考虑使用Directory.Build.props。(创建一个新文件夹并将其放置在解决方案文件夹中,其中的所有设置将应用于该解决方案下的项目)

但是由于xx.c​​sproj中的属性将覆盖target或props文件中的同名属性,因此请避免在此文件中设置同名属性。

  

至于这样做是否有好处。

您可以先检查this list,因为您的产品经理决定不再支持32位窗口,如果您所有的第三方SDK也都支持x64,则可以随意切换到x64。但是,无论您的应用程序是使用x64还是Any CPU构建的,都可能不会在性能上产生重大差异,因为它始终在64位Windows中运行。参见the details from svick

相关问题