Comment obtenir la valeur d'une propriété msbuild à partir d'une tâche personnalisée?

StackOverflow https://stackoverflow.com/questions/609498

  •  03-07-2019
  •  | 
  •  

Question

Existe-t-il un moyen d'accéder à la valeur d'une propriété msbuild à partir d'une tâche personnalisée? Je sais que je peux tous les envoyer, mais ce serait bien de ne pas le faire :) Essayer de le faire à partir d’une compilation tfs.

Ou existe-t-il un moyen d'accéder au " script de construction " en cours d'exécution? Peut-être que comme un modèle d'objet et de là obtenir ce dont j'ai besoin?

Était-ce utile?

La solution

Cela devrait faire l'affaire.

  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;
  }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top