2012-01-31 20 views
0

同じ問題でいくつかのスレッドを見たことがありますが、解決策のどれも私にとってはうまくいかないので、ここで試してみてください。ビルド後のスクリプトではVIsual Studio 2010でエラーが発生する

私は(おそらくまだ存在しdosn't、それを作成した場合)directroyへの.libファイルを移動VS2010でビルド後のスクリプトを必要としています。

私はerror code 2を返す、これを使用しています:

xcopy /y "$(TargetDir)$(ProjectName).lib" "$(SolutionDir)lib\$(ProjectName).lib" 

error code 1を返し、試してみました:(違いは何ですか?)

copy /y "$(TargetDir)$(ProjectName).lib" "$(SolutionDir)lib\$(ProjectName).lib" 

最も一般的な問題は、人々が肝炎ように見えるですパス上の引用符の欠如が、私はそれを持っています。

なぜ機能しないのですか? copyで何が起こっているか、コマンドライン上の簡単なテストの後

+0

エラーコード2は、ユーザがXCOPY操作をキャンセルすることを意味します。おそらく '/ q'スイッチを指定する必要があります。 –

+0

あなたは/ yの後に/ qを追加することを意味しますか?私が試したときに違いはありません – KaiserJohaan

+1

環境変数またはプロジェクト変数に適切なスラッシュがありますか?ソースまたはターゲットをコンソールまたはテキストファイルにエコーすることを検討してください。 – AJG85

答えて

3

これは近くなるべきである:

if not exist "$(SolutionDir)lib" md "$(SolutionDir)lib" 
xcopy /y /d "$(TargetPath)" "$(SolutionDir)lib" 
+0

うまくいきました、ありがとう – KaiserJohaan

1

は、ディレクトリが存在しないので、それが失敗しています。 xcopyで何が起きているのかは、ディレクトリが存在しないと判断した場合に、ターゲットがファイルかディレクトリかを確認するメッセージが表示されない場合です。 /-YがCOPYCMD環境変数に設定されている可能性があります。ターゲットパスが誤っていると、ターゲットが上書きするために/Yフラグで抑制されていないディレクトリまたはファイルであるかどうかを確認するメッセージが表示されます。

例:xcopy /Y "C:\test.txt" "missingdirectory\test5.txt"

明らかに最も簡単な解決策は、ディレクトリが存在するかどうかを確認し、それがあなたのビルド後のスクリプトでコピーを行う前に欠けている場合は、それを作成することです。

関連する問題