Jest to wzór, który normalnie używać do dodawania kroki do raportu kompilacji w TFS 2008. (Patrz http://code.msdn.microsoft.com/buildwallboard/ pełny przykład, że ja zwykle korzystam w moim zespole Budowanie rozmowy)
Zasadniczo, jest to, że magia istnieje niestandardowe zadanie dla ciebie w TFS2008 o nazwie "BuildStep". Oto odcinek gdzie generowanie i instalator MSI i zbudować odpowiednie kroki budować w raporcie:
<Target Name="PackageBinaries">
<!-- create the build step -->
<BuildStep TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
BuildUri="$(BuildUri)"
Message="Creating Installer"
Condition=" '$(IsDesktopBuild)' != 'true' " >
<Output TaskParameter="Id"
PropertyName="InstallerStepId" />
</BuildStep>
<!-- Create the MSI file using WiX -->
<MSBuild Projects="$(SolutionRoot)\SetupProject\wallboard.wixproj"
Properties="BinariesSource=$(OutDir);PublishDir=$(BinariesRoot);Configuration=%(ConfigurationToBuild.FlavourToBuild)" >
</MSBuild>
<!-- If we sucessfully built the installer, tell TFS -->
<BuildStep TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
BuildUri="$(BuildUri)"
Id="$(InstallerStepId)"
Status="Succeeded"
Condition=" '$(IsDesktopBuild)' != 'true' " />
<!-- Note that the condition above means that we do not talk to TFS when doing a Desktop Build -->
<!-- If we error during this step, then tell TFS we failed-->
<OnError ExecuteTargets="MarkInstallerFailed" />
</Target>
<Target Name="MarkInstallerFailed">
<!-- Called by the PackageBinaries method if creating the installer fails -->
<BuildStep TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
BuildUri="$(BuildUri)"
Id="$(InstallerStepId)"
Status="Failed"
Condition=" '$(IsDesktopBuild)' != 'true' " />
</Target>
więc początkowo, tworzę krok gromadzeniu i zapisać identyfikator krok w propery zwanego InstallerStepId. Po wykonaniu zadania ustawiam status tego kroku na Sukces. Jeśli wystąpią jakiekolwiek błędy podczas kroku, ustawiam status tego kroku na Failed.
Powodzenia,
Martin.
To jest WYŁĄCZNIE to! Dzięki!!!! –
Właśnie to przetestowałem. Działa świetnie. Dzięki! –