我正在尝试从用户指定的位置目录导入一些 props 和目标文件。为了确定这个目录,我有一些自定义逻辑,我正在尝试找到一种在其中一个 props 中执行它的方法。我无法使用标准的 MSBUILD 属性函数来实现此目的。
我的最终目标是有一个小的UI,允许用户指定这个目录,并且这个目录的范围必须绑定到一个项目,即,可能有两个不同的项目指向解决方案中的两个不同目录
在摆弄完所有需求后再次调用构建脚本怎么样?每次调用MSBuild
任务(将$(MSBuildProjectFile)
作为Projects
值)将再次调用生成文件,并且该调用将具有环境的新副本。
<Project DefaultTargets="EntryPoint" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="14.0">
<Target Name="SetProperties">
<PropertyGroup>
<PropA>Something</PropA>
</PropertyGroup>
</Target>
<Target Name="EntryPoint">
<MSBuild
Projects="$(MSBuildProjectFile)"
Properties="Configuration=$(Configuration);OutputPath=$(OutputPath);"
Targets="SetProperties;EntryPoint"
Condition="$(PropA) == ''"/>
<Message
Text="Everything is set!"
Condition="$(PropA) != ''"/>
</Target>
</Project>
此设置可以轻松扩展以执行一些Exec
任务逻辑,并将该输出转发到对入口点的新调用。