0

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 で終了しました。

何がうまくいかないかについて、エラー レポートによって提供される情報はそれほど多くありません。興味深い点は、ファイルをローカルで個別にビルドすると、チェックアウト/イン コマンドが配置されていても、ファイルがビルドされ、適切なチェックアウト/インさえ実行されることです。

私の考え (チーム サーバーのコマンド ラインをいじることでバックアップされます) は、ワークスペース、特にファイルをチェックアウトするために必要なワークスペースに関係があるということですが、それ以外はどこに進むべきか迷っています。

4

2 に答える 2

0

ビルド後のイベントから離れて、代わりにワークフローを変更することをお勧めします。少なくとも、ビルド後のイベントではなく MSBUILD を使用してください。

于 2013-05-21T20:56:52.140 に答える
0

ワークスペースも確認します。

私はしばらく前に同じ問題を抱えていました。何が起こったかは、異なるワークスペースで同じ目的地への複数のマップでした。

ドロップ フォルダーを消去し、次のパラメーターを使用して新しいビルドを要求します。

/p:OverrideForceGet=true;OverrideSkipInitializeWorkspace=false
于 2016-09-23T13:49:59.213 に答える