Как реализовать TFS InvokeProcess для запуска под другими учетными данными - PullRequest
2 голосов
/ 27 июня 2011

Я использую определения сборки TFS (VS 2010) и XAML для создания приложений для различных сред.Теперь нам нужно отправить эти сборки на производственные серверы, для которых требуются учетные данные, отличные от того, что есть у контроллера сборки.

Я работал над реализацией шагов, описанных в " Настройка Team Build 2010 - часть 9:Олицетворение действий (выполняемых под другими учетными данными)"из http://www.ewaldhofman.nl/post/2010/05/28/Customize-Team-Build-2010-e28093-Part-9-Impersonate-activities-(run-under-other-credentials).aspx, но я не могу понять, как использовать учетные данные в файле XAML.

Итак, я реализовал предоставленное решение и заставил определения сборки требовать учетные данные, но как мне внедрить код учетных данных (который, как представляется, в C #) в XAML (который является XML)?

Спасибо, Стефани

Ответы [ 2 ]

0 голосов
/ 20 июля 2011

Вы можете использовать действие TryCatch, чтобы обернуть объект олицетворения и расположить его в Окончании.

XAML должен выглядеть следующим образом:

            <TryCatch>
              <TryCatch.Variables>
                <Variable x:TypeArguments="bl:Impersonation" Name="Impersonation" />
              </TryCatch.Variables>
              <TryCatch.Try>
                <Sequence>
                  <mtbwa:WriteBuildMessage Message="Impersonating..." />
                  <ba:CreateImpersonationContext Credentials="[Credentials]" Result="[Impersonation]" />
                  <!-- Your activities go here -->
                </Sequence>
              </TryCatch.Try>
              <TryCatch.Finally>
                <Sequence>
                  <ba:DisposeImpersonationContext Impersonation="[Impersonation]" />
                  <mtbwa:WriteBuildMessage Message="Done with impersonation!" />
                </Sequence>
              </TryCatch.Finally>
            </TryCatch>
0 голосов
/ 14 июля 2011

Я решил свою проблему здесь.Я не знал, что действия были закодированы в C #, хотя организованы через XML.

...