如何从自定义任务获取msbuild属性的值?

时间:2009-03-04 07:00:53

标签: tfs msbuild properties

有没有办法从自定义任务访问msbuild属性的值?我知道我可以将它们全部发送出去,但不要试图从tfs构建中执行此操作。

或者有没有办法访问当前正在运行的“构建脚本”?也许就像一个对象模型,从那里得到我需要的东西?

1 个答案:

答案 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;
  }