2010-06-09 165 views
3

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

回答

2

Hmya,这不仅仅是Visual Studio的设计。它不受“老板重载”开关的限制,它可以让用户不受限制地访问配置设置。这对你来说应该是有意义的,开发人员可以用他的代码比修补设置造成更多的损失。如果开发者故意改变优化设置,那肯定是因为他分析了代码并确定了更好的设置。

Anyhoo,Visual Studio不仅对开发者有用,它对你也很有用。编写一个分析.vcproj文件的小工具,检查优化设置是否被覆盖。这是一个简单的.xml文件,你需要大约5行代码。在构建咕噜声的预生成事件中运行它,如果您认为它不合适,则在构建失败时运行它。然而,处理生气的开发者不能自动处理。

+0

哈哈,问题在于人们开启了他们不理解的优化(即可怕的遗漏帧指针优化) – Steve 2010-06-09 21:34:24

2

唯一的意见,我可以给的,如果你的项目开拓物业管理器,右击配置文件夹中的一个,它应该弹出一个名为项的菜单“Overidden属性...”,这依次打开一个对话框,列出项目配置中设置的每个属性,这些属性会覆盖属性表属性页 - 以及选择部分或全部属性的工具,并删除覆盖项。