为什么我的包装步骤在teambuild失败了?

时间:2012-08-08 03:41:33

标签: msbuild tfs2010 tfsbuild packaging

我只是构建人员,我没有编写网络应用程序而且对网络应用程序知之甚少(我非常清楚,我很确定)。

所以老兄告诉我,我们需要运行“msbuild / T:Package / P:Configuration = Release”来打包他的应用程序。好的。他的构建定义中有多个解决方案,其中只有一个需要Package目标,所以我写了一个愚蠢的小msbuild proj文件,添加到他的TFS构建定义中,默认目标如下:

<Target Name="Package" Condition=" '$(Configuration)' == 'Release' ">
    <MSBuild Projects="HisApp.csproj"
        Properties="Configuration=$(Configuration)"
        Targets="Package" />
</Target>

将其添加到构建定义中,它失败了:

Build started 8/7/2012 7:17:48 PM.
Project "C:\path\to\MyDumbScript.proj" on node 1 (default targets).
Package:
Project "C:\Path\to\MyDumbScript.proj" (1) is building "C:\Path\to\HisApp.csproj" (2) on node 1 (Package target(s)).
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(1737,5): error : Value cannot be null. [C:\Path\to\HisApp.csproj]
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(1737,5): error : Parameter name: type [C:\Path\to\HisApp.csproj]
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(1737,5): error : Unknown error (0x80005000) [C:\Path\to\HisApp.csproj]
Done Building Project "C:\Path\to\HisApp.csproj" (Package target(s)) -- FAILED.
Done Building Project "C:\Path\to\MyDumbScript.proj" (default targets) -- FAILED.

Build FAILED.

"C:\Path\to\MyDumbScript.proj" (default target) (1) ->
"C:\Path\to\HisApp.csproj" (Package target) (2) ->
(GetProjectWebProperties target) -> 
  C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(1737,5): error : Value cannot be null. [C:\Path\to\HisApp.csproj]
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(1737,5): error : Parameter name: type [C:\Path\to\HisApp.csproj]
  C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets(1737,5): error : Unknown error (0x80005000) [C:\Path\to\HisApp.csproj]

    0 Warning(s)
    2 Error(s)

Time Elapsed 00:00:00.82

这就像泥巴一样清晰。

问题:

  1. 当构建定义调用多个解决方案时,是否有更直接的方法从Team Build调用包目标?

  2. 为什么这会失败?

  3. 感谢。

1 个答案:

答案 0 :(得分:0)

看起来错误是由于未在构建计算机上启用IIS。

当我在构建计算机上启用“Web管理工具”和“万维网服务”功能时,构建以新的和更有趣(并且不太透明)的方式失败。

关于如何更好地从Team Build调用包目标,我很乐意听到答案,但现在可以使用了。