2016-01-20 88 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,则可以在构建定义处理选项卡的高级部分中执行此操作。