3

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

4

2 回答 2

2

嗯,这不是 Visual Studio 的设计方式。它完全没有“老板覆盖”开关,它让用户可以不受限制地访问配置设置。这对你来说应该是有意义的,开发人员对他的代码造成的损害比修补设置要大得多。如果开发人员故意更改优化设置,那肯定是因为他分析了代码并确定了更好的设置。

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

于 2010-06-09T21:27:45.030 回答
2

我能给出的唯一建议是,如果您打开项目的属性管理器,然后右键单击其中一个配置文件夹,它应该会弹出一个菜单,其中包含一个名为“Overidden Properties...”的项目,这反过来会打开一个对话框列出了项目配置中覆盖属性表属性表的每个属性集 - 以及选择部分或全部并删除覆盖的工具。

于 2010-06-09T21:41:29.697 回答