common.targetsファイルを、チームビルドで使用したいTurbBuild.projファイルにインポートするいくつかの一般的なmsbuildターゲットとともにセットアップしようとしています。私はこれを達成するための最善の方法は何ですか?各TFSBuild.projファイルのすぐ隣にcommon.targetsを格納する必要があるので、各チームビルドのターゲットファイルが重複しているか、別の方法がありますか?私はむしろ各ビルドマシンにターゲットファイルを置くことはしません。チームビルドの共通ターゲットはどこに保存する必要がありますか?
答えて
チームビルドでは、TFSBuild.projを呼び出す前にブートストラップフェーズがあります。 TFSBuild.projと同じディレクトリ内の他のファイルのみがソース管理からダウンロードされます。 だから、あなたがソース管理下にあるためにあなたのターゲットファイルをしたい場合、あなたはTFSBuild.proj
と同じ場所でそれを配置する必要があり、私はそれを試したことがない、しかし、あなたは置くことができるかもしれませんネットワーク共有上のターゲットファイルを取得し、unc共有を使用してインポートします。何かのように
<Import Project="\\anothermachine\share\something.targets"/>
しかし、それはビルドアカウントとデスクトップビルドを実行しているすべての人がそのネットワーク共有にアクセスする必要があります。
一般的な.targetsファイルの目標は、スクリプトの重複を減らすことです。ソース管理下にこのファイルのコピーが複数ある場合は、それらを変更する必要が生じた場合(.exeパスを更新するために)どうしますか?個人的には、他のすべてのビルドスクリプトが参照できる共通ファイルの別の場所を使用することをお勧めします。唯一の欠点は、このファイルへのパスをハードコーディングする可能性が高いことです。
これらは、MSターゲットと一緒に$ Volume \ Program Files \ MSBuildに保存できます。これを行うメリットは、組み込みの既知のメタデータ "$(MSBuildExtensionsPath)\ Path \ To \ Your \ Targets"を使用して相対パスを作成できることです。
(+1)ドキュメントによれば、「カスタムターゲットファイルを置くのに便利な場所です」というMSBuildExtensionsPathはわかりませんでした。 http://msdn.microsoft.com/en-us/library/ms164309.aspx – Pedro
ソース管理で好きな場所に置きます。ターゲットを使用する前に、このようなあなたのTFSBuild.projファイルから取得を行います。
は<PropertyGroup>
<!--Path to the TFS Command Line (used for checkin and out)-->
<TxTf>"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\tf"</TxTf>
<WorkingDirectory>C:\YourPathHere<WorkingDirectory>
<CustomProjTFSDir>"$/YourProj/YourCustomProjPath"</CustomProjTFSDir>
</PropertyGroup>
<Exec WorkingDirectory="$(WorkingDirectory)"
Command="$(TxTf) get $(CustomProjTFSDir)"/>
この作業の鍵はセットアップにカスタムのものを指すビルドエージェントのユーザーのためのワークスペースです。このディレクトリは、通常のビルドと同じスペースにあるべきではありません。
Vaccano
- 1. ファイルは、SharePointソリューションのどこに保存する必要がありますか?
- 2. Eclipseのサードパーティプラグインはどこに保存する必要がありますか?
- 3. シェーダコードはどこに保存する必要がありますか?
- 4. どこにクッキーを保存する必要がありますか?
- 5. コントロールに関連する共通のJavaScriptコードはどこに書く必要がありますか
- 6. QtはHyperSpaceをターゲットにする必要がありますか?
- 7. イメージをデータベースに保存する必要がありますか?
- 8. FireMonkeyとそのクロスプラットフォームでは、アプリケーションデータはどこに保存する必要がありますか?
- 9. システムの通知をデータベースまたはファイルシステムに保存する必要がありますか?
- 10. このアプリケーションデータを保持する必要がありますか?
- 11. デバイスまたはサーバーにユーザーフレンドリストを保存する必要がありますか?
- 12. イメージをデータベースまたはフォルダに保存する必要がありますか?
- 13. C#LINQターゲットは静的である必要があります
- 14. マルチサイトWordPressプラグインのグローバルデータはどこに保存する必要がありますか?
- 15. カスタムコントロール(ユーザーコントロール)の設定データはどこに保存する必要がありますか?
- 16. JavaScript呼び出しのサービス接続URLはどこに保存する必要がありますか?
- 17. ASP.NETアプリケーションの設定情報はどこに保存する必要がありますか?
- 18. ASP.NETアプリケーションのバージョン情報はどこに保存する必要がありますか?
- 19. コンピュータワイドライセンス/コンピュータワイドの設定はどこに保存する必要がありますか?
- 20. スパークスクロールバーの領域を保存する必要があります
- 21. get_or_create()はすぐに保存する必要がありますか? (Django)
- 22. このオブジェクトをRedisにどのように保存する必要がありますか?
- 23. このデータをJava enumにどのように保存する必要がありますか?
- 24. フォームを保存する前に実行する必要があるコードはどこに置く必要がありますか?
- 25. Right_aws ruby gem:AWSアクセスキーと秘密鍵はどこに保存する必要がありますか?
- 26. ドッキングされたWebアプリケーションは、アップロードされたファイルをどこに保存する必要がありますか?
- 27. 通知関連のメンバー名をvarcharまたはメンバーIDで保存する必要がありますか?
- 28. サイトワイドポイントシステムのユーザーレベルはどのように保存する必要がありますか? DBに?またはオンザフライで?
- 29. どこにUINavigationControllerをポップする必要がありますか?
- 30. DbContextはどこに置く必要がありますか?
ここでいくつかの良い答えがあります。彼らがなぜ働かないのか、それを受け入れるのかについてコメントしないでください..... – Vaccano
あなたは正しいです。完了しました。ご回答有難うございます。 – Fadeproof