的MSBuild:评估与ReadLinesFromFile保留特性(MSBuild: Evaluat

2019-10-29 05:36发布

我使用的MSBuild定制的Visual Studio,维克斯,沙塔,...项目的构建过程。 为了保持尽可能通用,我想使用的文本文件定义一些“项目特定”设置,如在文件应该从,自定义可执行文件运行等,这些被加载。

一个文本文件看起来是这样的:$(MSBuildProjectDirectory).... \项目\ PROJECT1 \ BIN \发布OBJ \ $(配置)\ Project1.Files.wxi -in * .DLL -id TEST

每一行代表一个命令或文件。

在我的目标,我使用ReadLinesFromFile如何获得这些文件的内容。 到现在为止还挺好!

问题是,像保留性质“$(配置),$(MSBuildProjectDirectory)”是不这样做的时候,他们只是处理为普通文字评估。

我如何可以评估这些$ -placeholders而无需创建一个自定义任务的任何想法?

提前致谢!

问候,robert.oh。

Answer 1:

而不是读的线条和解析自己的一切,为什么不创建一个单独的文件(命名,例如,“local.build.config”)具有

<PropertyGroup>
    <someproperty>$(MSBuildProjectDirectory)..\Projects\Project1\bin\Release</someproperty>
</PropertyGroup>

文件中的信息,然后在你的实际项目做一个行的文件的导入像这样在你构建的顶部:

<Import Project="local.build.config" Condition="Exists('local.build.config')"/>

防止通过让MSBuild引擎做它最好重新发明轮子。



文章来源: MSBuild: Evaluating reserved properties with ReadLinesFromFile