tfsbuild と Visual Studio 2012 を使用してさまざまな csproj ファイルをビルドしようとしています。3 つの異なる csproj ファイルをビルドするための適切なプロセスでビルド定義を作成しました。各 csproj ファイルにはビルド前およびビルド後のイベントがあり、その大部分は単純な削除およびコピー コマンドです。これらの手順だけで、ビルドはうまく機能します。ここで、ビルド前にファイルを tfs からチェックアウトし、ビルド後にチェックインするコマンドを追加したいと考えています。適切な VS コマンドライン コマンドをビルド前およびビルド後のイベントに追加しました
チェックアウト:
"$(DevEnvDir)tf" checkout /lock:none "$(パス名)$(構成名)\$(ターゲットファイル名)"
チェックイン:
"$(DevEnvDir)tf" checkin "$(Pathname)$(ConfigurationName)\$(TargetName).*" /noprompt /force /comment:"Build check-in"
ただし、ビルドしようとすると、次のようなエラーが返されます。
$/AiFramework/toolbox/Accelitec.Utility/Accelitec.Utility.csproj - 1 エラー、0 警告、ログ ファイルの表示 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.ターゲット (1063): コマンド ""C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\tf" checkout /lock:none "\AiDevelopment\AiFramework\bin\Debug\Accelitec.Utility.dll" " コード 100 で終了しました。
何がうまくいかないかについて、エラー レポートによって提供される情報はそれほど多くありません。興味深い点は、ファイルをローカルで個別にビルドすると、チェックアウト/イン コマンドが配置されていても、ファイルがビルドされ、適切なチェックアウト/インさえ実行されることです。
私の考え (チーム サーバーのコマンド ラインをいじることでバックアップされます) は、ワークスペース、特にファイルをチェックアウトするために必要なワークスペースに関係があるということですが、それ以外はどこに進むべきか迷っています。