问题描述
|
属性管理器允许具有用于不同配置的不同属性集-例如,发布和调试。
但是,这仍然意味着您必须手动将每个属性文件分配给每个配置。
是否有一些方法可以根据某些参数(例如配置或平台)自动将属性集分配给项目
一个具体的例子:
我有许多子项目的解决方案。
该项目取决于各种外部库。
对于每个外部库,我都有一个.props文件,其中包含相关目录和其他参数(包括,lib,dll \'s ...)
在某些情况下,可以使用$(Configuration),$(Platform)等默认宏轻松构造目录名称。
但是,某些库带有不太标准的\\一致性命名约定。
对于这些情况,我创建了特定于配置(Debug \\ Release)的.props文件-但它需要手动分配给每个项目,这很繁琐且容易出错。
解决方法
这是可能的,至少在原则上请参见此帖子。但是,我没有找到一种实用的方法来结合使用IDE中的c ++项目和MSBuild的全部功能。无论您在属性表中写下任何智能的MSBuild表达式,一旦在IDE中启动属性管理器对话框,所有内容都将被默认值或从那里推断的值覆盖。这是一种奇怪的行为,与其他项目类型完全不同。看起来他们只是想保留MSBuild之前的旧样式来编辑VCProjects ...
, 您可以记录一个宏,然后单击按钮即可使用VBA创建/生成这些宏。