2013-02-18 38 views
1

我在後生成事件下面的宏:後/預建的宏投擲的錯誤在Visual Studio

copy "$(SolutionDir)\HelloTest.txt" "$(OutDir)" 

當我跑我得到以下錯誤的版本。

Error 3 The command "copy "E:\VS2012Projects\MixTests\\HelloTest.txt" "bin\Debug\"" exited with code 1. MixTests 

我在這裏錯過了什麼?

+0

路徑中有一個多餘的反斜槓。此外,錯誤是您在構建事件中執行的操作的結果,因此在命令行中運行相同的命令可能會獲得更詳細的消息。不過,這是一個路徑問題。另外,使用'xcopy'。 – 2013-02-18 10:24:29

+0

嘗試在'solutionDir':'copy「後刪除反斜槓$(SolutionDir)HelloTest.txt」「$(OutDir)」' – GolfWolf 2013-02-18 10:24:50

+0

@ w0lf即使在刪除\之後,它也有相同的錯誤。 – 2013-02-18 10:26:08

回答

0

嘗試定義這樣您生成後事件:

copy "$(SolutionDir)HelloTest.txt" "$(ProjectDir)$(OutDir)" 

我懷疑問題是關係到一個事實,即(OutDir)是(可能)bin\Debug並且不相對應用到項目的根。

使用$(ProjectDir)$(OutDir)會將絕對路徑放到您項目的...\bin\Debug文件夾中,消除任何不確定性。

0

舊線程,但有人可能會覺得這很有用。

如果在包含解決方案的文件夾名稱中有空格,這似乎會導致問題。例如;

「C:\項目\ ABC項目\ my.sln」 - 對應於$(SolutionDir)沒有尾隨斜線 其中作爲 「C:\項目\ ABCProject \ my.sln」 - 對應於$ (SolutionDir)

將兩個分支並排保留爲本地副本時的常見問題。請注意文件夾的命名。即 「C:\項目\ ABCProject \ my.sln」 - 樹幹 「C:\項目\ ABCProject 1_0 \ my.sln」 - 分支

很可能造成在當地分支副本的問題。