0

私はただのビルド担当者であり、Webアプリを作成したことはなく、Webアプリについてもあまり知りません(十分に明らかになると思います)。

そのため、彼のアプリをパッケージ化するには、「msbuild / T:Package / P:Configuration=Release」を実行する必要があると言われました。わかった。彼のビルド定義には複数のソリューションがあり、そのうちの1つだけがPackageターゲットを必要とするため、次のようなデフォルトのターゲットを使用してTFSビルド定義に追加するための愚かな小さなmsbuildプロジェクトファイルを作成しました。

<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. ビルド定義が複数のソリューションを呼び出すときに、チームビルドからパッケージターゲットを呼び出すためのより簡単な方法はありますか?

  2. なぜこれが失敗するのですか?

ありがとう。

4

1 に答える 1

0

ビルド マシンで IIS が有効になっていないためにエラーが発生したようです。

ビルド マシンで「Web 管理ツール」と「World Wide Web サービス」機能を有効にすると、ビルドは新しい、より興味深い (そして不透明度の低い) 方法で失敗しました。

チーム ビルドからパッケージ ターゲットをどのように呼び出すのがよいかという質問については、回答をいただければ幸いですが、現在は機能しています。

于 2012-08-08T23:51:51.920 に答える