2016-01-20 67 views
0

我們以multimarkdown格式在TFS中存儲各種設計文檔。我們還有一個EXE過程,可以運行這些MMD文件並從它們生成PDF文件 - 但只需從本地文件夾獲取文件。 我們想要做的是讓一個進程運行「on-checkin」,就好像你在checkin上運行一個自動構建(即最終調用msbuild來編譯應用程序),但在我們的情況下,我們會就像它能夠獲取簽入文件的列表並處理並生成它們的輸出。結果不需要在TFS中,因爲它們是構建輸出,而不是源代碼。 我相信這應該是某種程度上可能的,採取與工作流程必須採取的「正常」構建相同的方法。 有沒有人做過這樣的事情,或者可以指點我一個合適的方向嗎?如何從TFS中的文本文件生成文檔輸出

回答

0

您可以使用MSBuild中的exec任務來調用exe並「構建」您的輸出。創建一個名爲buildDocs.proj的文件,並將它檢入到TFS中,可能位於您要構建的東西下的文件夾中。使用下面的MSbuild作爲指導。

<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Target Name="Build"> 
     <Exec Command='"My.exe" -My Paramiters' /> 

     <ItemGroup> 
      <CopyItems Include="[path to output]\*.*" /> 
     </ItemGroup> 

     <Copy SourceFiles="@(CopyItems)" DestinationFolder="$(OutDir)\SomeDir" /> 
    </Target> 
</Project> 

訣竅在於識別涉及的各種路徑。

使用默認模板來構建proj,就像您將使用c#項目一樣。如果您需要將其他參數傳遞給MSBuild,則可以在構建定義處理選項卡的高級部分中執行此操作。