2012-05-04 28 views
0

TFS 2010ビルドサーバーをセットアップしています。 しかし、私は現在、 "カスタムビルドツール"を持つプロジェクトは "アクセス不可"のためにビルドされないという問題があります。「カスタムビルドツール」を使用したプロジェクトのTFSビルドサーバー

プロジェクトはC++です。

カスタムビルドツールは "Pro*C"です。基本的には* .pcファイルがあり、* .cppファイルが生成されます。 ビルドサーバでは、ディレクトリ/ファイルは読み込み専用です。だから、それは "アクセスなし"でクラッシュするでしょう。

TFSから* .cppファイルを削除しようとしました。そのため、生成されたファイルは存在しません。しかし、明らかにフォルダは読み込み専用であり、新しいファイルを作成することはできません。

誰にもこれに対応する方法がありますか?

答えて

1

私は、これらのオプションのいずれかを示唆している:のPro * Cの設定がそのを書くこと

  • それらがビルドプロセスによって生成された場合は、ソース管理での.cppファイルを置かないでください
  • 変更を書き込み可能な中間フォルダに出力ファイル
  • を処理するための中間の場所にコピーし、問題のファイルは
  • を処理するために読めるようにこれらのファイルのファイルアクセスを強制的にビルドステップを追加ビルドステップを追加します。 210
  • これらのファイルを作成する必要がある場合は、開発者マシンでPro * Cを使用して手動でビルドし、結果をチェックインして、デスクトップまたはビルド・サーバービルドごとに不変のファイルを不必要に再構築する時間を無駄にしないでください。
1

http://msbuildtasks.tigris.org/からダウンロードすることができますMSBuildのコミュニティタスクと呼ばれるプロジェクトが、あります。私は自分のために自動化されたtfs-buildを使っていました。 msbuild-projectにいくつかの拡張機能があります。そのうちの1つは、いわゆるAttribというタスクです。これにより、プロジェクトからファイル(およびおそらくフォルダ)属性を変更することができます。ウェブサイトの表には掲載されていませんが、ドキュメントに記載されています。私はあなたがしたい場合

<Attrib Files="@(AllYourFiles)" ReadOnly="true" Hidden="true" System="true"/> 

を次のように、これはまた、項目グループのために働くだろうと思い

<Attrib Files="Test\version.txt" ReadOnly="true" Hidden="true" System="true"/> 

:彼らのドキュメントからのサンプルとして、あなたはあなたの選択の対象に以下の行を追加することができますそれを使用するには、ビルドサーバーにインストールすることを忘れないでください。 ;)

+0

私はこれがまさに私が必要と考えるものです。しかし、私はそれをどのように使用する必要があるのか​​分かりません。自分でMSBuildTasks.projを作成する必要がありますか、それともどこかに存在しますか? – Stinus

+0

TFSビルドサーバー2010は、(以前のTFSビルドサーバーとは異なり)projファイルを(直接)使用しません。すでに分かっているように、すべてのビルドステップが定義されているビルドテンプレートを使用します。 DefaultTemplateでは、これらのステップの1つがmsbuildの呼び出しです。通常、 VS2010プロジェクトを作成するときには、そのようなプロジェクトファイル(vcxproj-extensionを持つ)が作成されます。そこに独自のターゲットを作成する必要があります。このターゲットでは、上からコマンドを配置できます。もう1つの解決策は、あなた自身のprojファイルを作成し、それを呼び出すためにTFSビルドテンプレートを適合させることです。 – AquilaRapax

+0

x64と互換性がありますか?私はそれを自分のdevマシン上で動作させました、(xp x86を獲得してください)。しかし、サーバーではない(サーバー2k8を勝つ) – Stinus

関連する問題