2009-03-04 4 views
3

Есть ли способ получить доступ к значению свойства msbuild из пользовательской задачи? Я знаю, что могу отправить их всех, но было бы неплохо не делать этого :) Попытка сделать это из сборки tfs.Как получить значение свойства msbuild из пользовательской задачи?

Или есть ли способ доступа к скрипту «build script», который в настоящее время работает? Может быть, как объектная модель и оттуда получить то, что мне нужно?

ответ

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; 
    } 
+0

Это помогло, но мне пришлось создать новый двигатель. Свойство BuildEngine содержало только EngineProxy, который я не смог обработать в Engine ... И когда я создал новый движок, но не оценил свойства vas. Так что я только что выбрал $ (что-то). Предложения? :) – Oddleif

+0

Невозможно лить я, а не случай :) – Oddleif

+0

Мой ответ отредактирован, это решение работает для меня. –

Смежные вопросы