如何从TFS中的文本文件生成文档输出
我们在TFS中以多重标记格式存储各种设计文档。我们还有一个EXE进程,可以运行它来获取这些MMD文件并从中生成PDF,但只需从本地文件夹获取文件即可。 我们希望在“签入时”运行一个进程,就像在签入时运行自动构建一样(即,最终调用msbuild来编译应用程序),但在我们的例子中,我们希望它能够获得签入文件的列表,并处理和生成它们的输出。结果不需要在TFS中,因为它们是生成输出,而不是源。 我确信,通过采取与“正常”构建的工作流所必须采取的相同方法,这在某种程度上应该是可能的。如何从TFS中的文本文件生成文档输出,tfs,msbuild,workflow,Tfs,Msbuild,Workflow,我们在TFS中以多重标记格式存储各种设计文档。我们还有一个EXE进程,可以运行它来获取这些MMD文件并从中生成PDF,但只需从本地文件夹获取文件即可。 我们希望在“签入时”运行一个进程,就像在签入时运行自动构建一样(即,最终调用msbuild来编译应用程序),但在我们的例子中,我们希望它能够获得签入文件的列表,并处理和生成它们的输出。结果不需要在TFS中,因为它们是生成输出,而不是源。 我确信,通过采取与“正常”构建的工作流所必须采取的相同方法,这在某种程度上应该是可能的。 有人做过类似的事情吗
有人做过类似的事情吗,或者可以为我指出一个合适的方向吗?您可以使用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>
诀窍在于识别所涉及的各种路径
使用默认模板构建项目,就像构建c#项目一样。如果需要向MSBuild传入其他参数,可以在“生成定义过程”选项卡的“高级”部分中执行此操作