强制VSProps设置覆盖项目设置

时间:2010-06-09 21:02:10

标签: c++ visual-studio-2008 vsprops

我有一个vsprops文件定义了我们应该为Visual Studio 2008构建的所有项目的优化。如果我将项目的属性设置为“从项目默认的父项继承”它可以工作,并填写它们vcproj文件。但是,这并不能保护我免受开发人员检查更改优化的项目文件的影响。在这种情况下,项目设置将用于vsprops设置。我需要这样做,以便vsprops始终优先于vcproj文件中的内容。这可能吗?其他变通办法也很受欢迎。

2 个答案:

答案 0 :(得分:2)

Hmya,这不是Visual Studio的设计方式。它完全没有“老板覆盖”开关,它为用户提供了对配置设置的自由访问。对你来说应该是有意义的,开发人员可以使用他的代码而不是修补设置对其造成更大的伤害。如果开发人员故意更改优化设置,那么肯定是因为他对代码进行了分析并确定了更好的设置。

Anyhoo,Visual Studio不仅对dev有用,它对你也很有用。编写一个小实用程序来解析.vcproj文件并检查优化设置是否被覆盖。它是一个简单的.xml文件,你需要大约5行代码。如果您认为不合适,请在构建grunt上的预构建事件中运行它并使构建失败。然而,处理生气的开发人员无法实现自动化。

答案 1 :(得分:2)

我唯一可以给出的建议是,如果打开项目的Property Manager,右键单击其中一个Configuration文件夹,它应弹出一个菜单,其中包含一个名为“Overidden Properties ...”的项目,该项目位于转动打开一个对话框,列出项目配置中的每个属性集,它们覆盖属性表属性表 - 以及选择部分或全部的工具,并删除覆盖。