Tfs 我是否必须使用带有团队构建定义的解决方案文件?
我们的应用程序使用ASP.NET和Flex平台的组合 我能够成功地使用构建服务来构建和部署.NET网站。那很好。但是,我们在TFS中也有ActionScript文件,我已经创建了一个批处理文件,以便从命令行成功编译ActionScript 我想为ASP.NET和Flex编译创建两个单独的构建定义。Flex显然没有SLN文件——我可以从头创建一个构建定义文件来支持Flex编译批处理文件而不需要解决方案文件吗?任务的创建非常简单(见下文),但我从未在不使用创建向导的情况下构建过自定义的团队构建脚本,而创建向导希望您提供一个解决方案文件,而我没有 我的构建脚本将非常简单:Tfs 我是否必须使用带有团队构建定义的解决方案文件?,tfs,tfsbuild,Tfs,Tfsbuild,我们的应用程序使用ASP.NET和Flex平台的组合 我能够成功地使用构建服务来构建和部署.NET网站。那很好。但是,我们在TFS中也有ActionScript文件,我已经创建了一个批处理文件,以便从命令行成功编译ActionScript 我想为ASP.NET和Flex编译创建两个单独的构建定义。Flex显然没有SLN文件——我可以从头创建一个构建定义文件来支持Flex编译批处理文件而不需要解决方案文件吗?任务的创建非常简单(见下文),但我从未在不使用创建向导的情况下构建过自定义的团队构建脚本,
当然。是在TFS中调用解决方案生成的MSBuild文件。您可以使用MSBuild修改它以生成所需的任何内容,MSBuild是编写.vbproj和.csproj文件的语言。MSBuild允许您使用大量任务…不,在使用TFSBuild完成构建时,您不需要解决方案文件。一个非常简单的项目文件可能如下所示(由Aaron Hallberg提供):
请在Aarons的博客上对此进行调查。tfsbuild.proj文件中的默认目标实际上是在“通用”目标文件中定义的,并通过以下指令导入到projfile中:
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v8.0\TeamBuild\Microsoft.TeamFoundation.Build.targets" />
如果删除了导入,则只需EndToEndition目标即可运行tfsbuild
祝你一切顺利
/Niels快速更正:解决方案(.sln)文件(无论如何在Visual Studio 2005和2008中)不是msbuild格式。csproj和.vbproj是..@Alan:对。编辑。但您可以对.sln文件运行msbuild,这很奇怪,但也很好。
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v8.0\TeamBuild\Microsoft.TeamFoundation.Build.targets" />