0

私は TFS 2008 ビルド機能を使用しています。大規模な MSBuild プロジェクト (TFSBuild.proj) があり、保守が難しくなってきているため、いくつかのファイルに分割したいと考えていました。

奇妙な動作を見つけました。ターゲットの 1 つ (BeforeInitializeWorkspace) を別のファイルに抽出し、それをメインの *.proj ファイルにインポートすると、実行されませんでした。ただし、私の MSBuild ログには、ターゲットがインポートされてオーバーライドされたが、実行されていないという情報がありました。メインの *.proj ファイルに同じターゲットが定義されている場合は、それが実行されます。ファイルからインポートしたときにターゲットが実行されない理由を誰かが説明できますか?

ありがとう、

4

1 に答える 1

0

私は愚かです;)

順番を<Import>間違えました。インポートする最初のファイルはオーバーライドされたターゲットであり、次にインポートされてターゲットをオーバーライドしましたMicrosoft.TeamFoundation.Build.targets

とにかく、順序を変更することは役に立ちました。これで、Microsoft.TeamFoundation.Build.targetsインポートする最初のターゲットがインポートされ、次に他のすべてのターゲットがインポートされます。

于 2010-05-31T13:26:39.420 に答える