有没有办法从自定义任务访问msbuild属性的值?我知道我可以将它们全部发送出去,但不要试图从tfs构建中执行此操作。
或者有没有办法访问当前正在运行的“构建脚本”?也许就像一个对象模型,从那里得到我需要的东西?
答案 0 :(得分:2)
这应该可以胜任。
public override bool Execute()
{
string projectFile = BuildEngine.ProjectFileOfTaskNode;
Engine buildEngine = new Engine(System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeDirectory());
Project project = new Project(buildEngine);
project.Load(projectFile);
foreach(var o in project.EvaluatedProperties)
{
// Use properties
}
return true;
}