¿Cómo obtener el valor de una propiedad msbuild de una tarea personalizada?
-
03-07-2019 - |
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?
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