Куда отправляется информация Context.Track <T>? - PullRequest
0 голосов
/ 14 апреля 2011

Я пробовал

public sealed class WriteMessage : CodeActivity
{
    protected override void Execute(CodeActivityContext context)
    {
        context.Track(new BuildInformationRecord<Foo>()
        {
            Value = FooInstance,
        });
    }
} 

и

, затем обнаружил перегрузку на context.Track, которая принимает <T>

context.Track(FooInstance);

и ни один из них не появляется в средстве просмотра сборок в Visual Studio.

context.TrackBuildMessage(string data), безусловно, появляется.

и я не получаю никаких исключений, сохраняется ли он в хранилище данных tfs, илифайл?или просто молча терпит неудачу полностью?

Ссылка на один из ресурсов, указывающих, как это работает или должно работать со стороны кода

1 Ответ

1 голос
/ 02 октября 2011

это действительно делает его путь к хранилищу данных. Ваш экземпляр преобразуется в Dictionnary путем отражения его свойств (вы можете предоставить преобразователь типов в Dictionnary , если хотите) и затем сохраняется как запись сборки в базе данных. Записи логически структурированы как дерево. Вы можете получить эту информацию через API TFS.

Вы используете новый тип для TFS, который является "Foo". Таким образом, ваша информация не может пока что отображаться в отчетах о сборке в Visual Studio, потому что VS не знает, как ее представить. На самом деле вам нужно расширить отчеты о сборке VS с помощью специального надстройки, которая может преобразовать его в элементы управления WPF для рендеринга.

Если вы отслеживаете «BuildMessage», этот тип хорошо известен VS, он будет отображаться в журнале сборки.

Вы также можете разработать адаптер хранилища для передачи этих данных из сохраненных отчетов о сборке в хранилище TFS (а также в куб TFS).

О добавлении пользовательской информации в сборку:

Моя статья на моем блоге на французском (отвечает именно на ваш вопрос, извините, да ... на французском):

Надеюсь, это поможет. (В настоящее время я не могу публиковать больше ссылок, так как я новый пользователь, свяжитесь со мной напрямую, я вышлю вам хорошие URL-адреса или Google для «Изменение способа отображения информации о сборке»)

...