我是否必须使用具有Team Build定义的解决方案文件?

时间:2009-02-22 17:05:34

标签: tfs tfsbuild team-build

我们的应用程序使用ASP.NET和Flex平台的组合。

我能够成功使用构建服务来构建和部署.NET网站。这很好。但是,我们在TFS中也有ActionScript文件,并且我已经创建了一个批处理文件,以便从命令行成功编译ActionScript。

我想为ASP.NET和Flex编译创建两个单独的构建定义。 Flex显然没有SLN文件 - 我可以从头创建构建定义文件以支持Flex编译批处理文件而无需解决方案文件吗?创建任务相当简单(见下文),但我从未构建过自定义的Team Build脚本而不使用Create向导 - 而Create向导希望您提供一个我没有的解决方案文件。 / p>

我的构建脚本非常简单:

  1. 获取最新版本的ActionScript文件
  2. 运行ActionScript编译批处理文件
  3. 将ActionScript文件复制到部署文件夹

2 个答案:

答案 0 :(得分:3)

绝对。 TFSBuild.proj是一个MSBuild文件,用于调用TFS中的解决方案构建。您可以修改它以使用MSBuild构建任何您想要的内容,MSBuild是.vbproj和.csproj文件的编写语言.MSBuild允许您使用丰富的任务...

答案 1 :(得分:0)

在使用TFSBuild完成构建时,您不需要解决方案文件。一个非常简单的项目文件看起来像这样(Aaron Hallberg提供):

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
  <Target Name="EndToEndIteration">
    <Exec Command="SomeScript.cmd" />
  </Target>
</Project>

请从Aarons博客调查此page。 tfsbuild.proj文件中的默认目标实际上是在“公共”目标文件中定义的,并通过此指令导入到projfile中:

  <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v8.0\TeamBuild\Microsoft.TeamFoundation.Build.targets" />

如果导入被删除,您只需要EndToEndIteration目标即可运行tfsbuild ....

一切顺利 /尼尔斯