0

タイトルにあるように、ビルド定義をTFS2008からアップグレードテンプレートを使用するTFS2012ビルド定義にアップグレードしました。ただし、ビルドプロセスの一部として、一部のMSBuildタスクをオーバーライドしてビルド番号を書き換えるカスタムDLLや、その他のユーティリティMSBuildタスクを呼び出します。ただし、アップグレードされたビルドタイプの1つに対してTFS 2012でビルドをキューに入れると、次のエラーが発生します。

C:\ Sites \ TfsBuild \ Rock.QL.Qbert.TfsCustomBuild.Targets-1エラー、0警告、ログファイルの表示C:\ Sites \ TfsBuild \ Rock.QL.Qbert.TfsCustomBuild.Targets(33 ):「Rock.Ql.QBert.TfsCustomBuild.BuildNumberReader」タスクをアセンブリC:\ Sites \ TfsBuild \ bin\Rock.Ql.QBert.TfsCustomBuild.dllから読み込めませんでした。ファイルまたはアセンブリ'file:/// C:\ Sites \ TfsBuild \ bin\Rock.Ql.QBert.TfsCustomBuild.dll'またはその依存関係の1つを読み込めませんでした。間違った形式のプログラムを読み込もうとしました。宣言が正しいこと、アセンブリとそのすべての依存関係が利用可能であること、およびタスクにMicrosoft.Build.Framework.ITaskを実装するパブリッククラスが含まれていることを確認します。

C:\ Sites \ TfsBuild\Rock.QL.Qbert.TfsCustomBuild.Targets-カスタマイズプロセスで使用するためにMSBuild用に生成されたターゲットファイル。

Rock.Ql.QBert.TfsCustomBuild.BuildNumberReader-実際のビルド番号のカスタマイズを行うクラスを表します。

強調すると、これはTFS2012でビルドをキューに入れるときに失敗しますが、TFS2008では失敗しません。任意のアイデアやポインタをいただければ幸いです。

4

1 に答える 1

0

カスタムdllの問題のほとんどは、適切な場所にないことが原因で発生するため、ビルドサーバーの次のパスにカスタムdllを配置してみてください。

"C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ PublicAssemblies"

それらをソース管理上のフォルダーに配置し、ビルドコントローラーのプロパティから次のイメージとして構成することもできます。

ここに画像の説明を入力してください

于 2013-01-17T22:09:35.660 に答える