2009-11-25 55 views
2

在tfs build 2008中建立一个新的团队构建,你不得不为你的构建定义选择一个.sln文件。Team Foundation Build(2008)减去.sln文件?

我已经通读了Microsoft.TeamFoundation.Build.Targets,并且据我所知,所有的团队构建都是在tfsbuild.proj中将愚蠢的.sln格式转换为msbuild,然后构建。所以你最终得到的是tfsbuild.proj调用mysolution.sln然后调用myproject.csproj。

我更喜欢将tfsproj导入myproject.csproj,覆盖几个目标,并跳过整个.sln => msbuild黑匣子。

有没有人这样做?什么是正确的目标重写干净地截断.sln混乱?我想CoreCompileConfiguration将需要被覆盖。

切断.sln功能会损失什么?

回答

2

TFS 2008可以构建解决方案项目。您只需指定要在SolutionsToBuild属性中构建的项目(例如.csproj)文件,并确保要构建的配置和平台与您的项目匹配。

这里有一个讨论的来龙去脉: How to build a .csproj using TFS 2008 and MSBuild

0

这是我们在项目中使用的东西。这并不完美,但诀窍。

<Target Name="CoreCompile" 
    DependsOnTargets="$(_CoreCompileDependsOn)" 
    Outputs="@(CompilationOutputs)"> 

    <MakeDir Directories="$(BinariesRoot)" Condition="!Exists('$(BinariesRoot)')" /> 

    <MSBuild Projects="$(SolutionRoot)\$(SrcBranch)\WholeProject.proj" 
      StopOnFirstFailure="$(StopOnFirstFailure)"> 
    <Output TaskParameter="TargetOutputs" ItemName="CompilationOutputs" /> 
    </MSBuild> 
</Target> 

WholeProject.proj是在开发机器构建和构建机器上使用的文件。

我不知道现在为什么CoreCompile必须重写,很可能是因为原来总是寻找一些财产,并希望它的存在,并包含有效的.sln文件

相关问题