Pregunta

¿Hay alguna forma de acceder al valor de una propiedad msbuild desde una tarea personalizada? Sé que puedo enviarlos a todos, pero sería bueno no hacerlo :) Intentando hacer esto desde una compilación de tfs.

O hay alguna forma de acceder al " script de compilación " actualmente en ejecución? Tal vez como un modelo de objeto y de ahí obtener lo que necesito?

¿Fue útil?

Solución

Esto debería hacer el trabajo.

  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;
  }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top