我有一个.targets
文件,用于根据.props
文件中给出的选项指定预处理器定义。
<ItemDefinitionGroup>
<ClCompile Condition="'$(SkuDefine)'!=''">
<PreprocessorDefinitions>$(SkuDefine);%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
这很好用,在VS2010中我可以从项目属性表的下拉列表中更改选项,我将在我的代码中激活新的预处理器定义。
我一直在搜索MSDN,寻找一个允许我根据SkuDefine
值的条件可选地引用另一个项目的选项。我猜是这样的:
<ClCompile Condition="'$(SkuDefine)'=='USE_LIB_A'">
<SomeLinkOption>LibName</SomeLinkOption>
如果我是手动执行此操作,我会转到:
project =&gt; properties =&gt;共同属性=&gt;框架和参考=&gt; (单击我要在列表中链接的项目)=&gt;项目参考属性=&gt; (将链接库依赖关系设置为false)
除了这个问题之外 - 有没有办法使用.targets
文件修改特定项目的构建配置。通过这种方式,我可以在调试和 NoBuild 的项目构建配置之间切换,这也可以解决我的问题。