2012-01-31 66 views
0

我已經看到幾個線程有同樣的問題,但沒有一個解決方案似乎適用於我,所以我在這裏嘗試。構建後腳本在VIsual Studio 2010中拋出錯誤

我需要一個VS2010中的後期構建腳本,將.lib文件移動到directroy(可能還沒有存在;如果是這樣,創建它)。

我使用的這個,它返回error code 2

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

也試過,它返回error code 1:(有什麼區別?)

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

最常見的問題的人似乎甲肝是路徑上沒有引號,但我有這個。

爲什麼不起作用?

+0

錯誤代碼2意味着用戶取消了XCOPY操作。您可能需要指定'/ q'開關。 – 2012-01-31 21:08:31

+0

您的意思是在/ y之後添加/ q?在我嘗試使用 – KaiserJohaan 2012-01-31 21:30:56

+1

時沒有影響您的環境或項目變量是否具有適當的斜槓?考慮將您的源和目標回顯到控制檯或文本文件。 – AJG85 2012-01-31 22:46:43

回答

3

這應該是接近:

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

工作,謝謝 – KaiserJohaan 2012-02-04 00:33:24

1

經過對命令行的快速測試copy發生了什麼,它是失敗的,因爲該目錄不存在。 xcopy發生了什麼事情當它發現目錄不存在時,它提示目標是文件還是目錄時,它會失敗。 /-Y可能會設置在您的COPYCMD環境變量中,或者您的目標路徑可能會引起誤導,導致提示您確定目標是否爲/Y標誌未被覆蓋的目錄或文件覆蓋。

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

顯然,最簡單的方法就是檢查目錄存在,並創建它,如果它在你的post-builders做副本之前失蹤。

相關問題