7

TFS 2012にアップグレードし、レガシービルドテンプレートを変更して、Activity要素からMicrosoft.TeamFoundation名前空間へのすべての厳密な名前参照を削除しました。ビルド時に次のエラーが発生します。

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ TeamBuild \ Microsoft.TeamFoundation.Build.targets(801):「CreateWorkspaceTask」タスクに必要なパラメーター「BuildAgentUri」の値が指定されていません。

他の誰かがこのエラーに遭遇しましたか?

4

2 に答える 2

12

私は今日、この問題を解決しました....

移動して開く:-

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets

次のようなセクションを見つけます:-

CreateWorkspaceTask TeamFoundationServerUrl="$(TeamFoundationServerUrl)" BuildUri="$(BuildUri)" BuildDirectory="$(BuildDirectory)" SourcesDirectory="$(SolutionRoot)" Name="$(WorkspaceName)" Comment="$(CreateWorkspaceTaskComment)"

それを次のように置き換えます:-

<!-- Create the workspace for this build -->
    <CreateWorkspaceTask
          TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
          BuildUri="$(BuildUri)"
          BuildDirectory="$(BuildDirectory)"
          SourcesDirectory="$(SolutionRoot)"
          Name="$(WorkspaceName)"
          Comment="$(CreateWorkspaceTaskComment)"
          Condition=" '$(ProjectFileVersion)' != '4'">
      <Output TaskParameter="Name" PropertyName="WorkspaceName" />
      <Output TaskParameter="Owner" PropertyName="WorkspaceOwner" />
    </CreateWorkspaceTask>
    <CreateWorkspaceTask
          TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
          BuildUri="$(BuildUri)"
          BuildDirectory="$(BuildDirectory)"
          BuildAgentUri="$(BuildAgentUri)"
          SourcesDirectory="$(SolutionRoot)"
          Name="$(WorkspaceName)"
          Comment="$(CreateWorkspaceTaskComment)"
          Condition=" '$(ProjectFileVersion)' == '4'">
      <Output TaskParameter="Name" PropertyName="WorkspaceName" />
      <Output TaskParameter="Owner" PropertyName="WorkspaceOwner" />
    </CreateWorkspaceTask>

これは XML ドキュメントであるため、テキストの大文字と小文字に特に注意してください...

これが役立つかどうか教えてください...

乾杯!

... シェフ

于 2012-11-20T21:13:41.997 に答える
6

ビルド マシンの 1 つで同じ問題が発生しました。ビルド マシンは、ある日は問題なく動作していましたが、次の日には停止しました。唯一の変更点は、Visual Studio 2010 の Service Pack 1 のインストールを完了したことです。

MSBuild が以前のバージョンにロールバックされた可能性があると考えました。

そこで、別のビルド マシンでこのファイルを調べたところ、そのセクションは Chev が提供したスニペットとまったく同じように見えました。

そのため、ビルド マシンの「プログラムと機能」に進み、TFS 2012 インストールの修復を行いました。これにより、Microsoft.TeamFoundation.Build.targets ファイルが更新され、Chev が提供するスニペットのようになります。

ビルドが再び正しく実行されるようになりました。

于 2013-02-12T20:19:07.717 に答える