MSBuild的进口条件(MSBuild Conditional Imports)

2019-10-16 23:16发布

是否有在有条件的MSBuild进口解决方法吗?

我发现的证据在这里和这里的细节在MSBuild的IDE接口的错误。 特别是, Import建筑时报表不重装:

这是一个已知的限制。 VS将只处理一次标签,该项目被加载时。 所以,无论标签是活跃在该项目第一次加载时间(无论基于何种看重你的属性有当时)...这是你会得到该项目在IDE寿命标签

例如,我可能要导入的barbaz基于价值工程foo

<Import Project="bar.targets" Condition="'$(foo)' == 'bar'" />
<Import Project="baz.targets" Condition="'$(foo)' == 'baz'" />

有一种解决方法或不同的方法,我可以使用实现所需的功能?

Answer 1:

我不认为你可以使用条件的进口mechaism克服这一点。 什么是你真正想要实现?

赛义德·易卜拉欣·哈希米

我的书: 里面的微软构建引擎:使用的MSBuild和团队基础生成



Answer 2:

取决于什么是你的目标文件,但如果你基于$(富)只是设置属性的属性,那么你可以使用预生成事件,或预生成目标做同样的工作。



文章来源: MSBuild Conditional Imports