预构建事件复制命令退出代码为1。

29

我在预构建事件中有以下代码:

copy /y $(ProjectDir)ThirdPartyAssemblies\ $(TargetDir)

这导致了以下错误:

命令"copy /y C:\ Users \ myusername \ Documents \ Visual Studio 2010 \ Projects \ mysolution \ myproject \ ThirdPartyAssemblies * C:\ Users \ myusername \ Documents \ Visual Studio 2010 \ Projects \ mysolution \ myproject \ bin \ Debug \"退出代码为1。

我尝试在post build事件中运行它,并获得相同的错误。然而,当我在控制台窗口中执行错误中的命令时,它可以正常工作。 我做错了什么?

5个回答

39

我不确定这是否与您收到的错误有关,但由于路径/文件名中存在空格,您需要在其周围放置引号。

复制 /y "C:\Users\myusername\Documents\Visual Studio 2010\Projects\mysolution\myproject\ThirdPartyAssemblies*" "C:\Users\myusername\Documents\Visual Studio 2010\Projects\mysolution\myproject\bin\Debug\"


就是这样,谢谢 - 当然,在控制台测试时我加了引号,但没想到 VS 也需要。 - Mark Bostleman

15

copy /y "$(SolutionDir)MyProject\myFile.xxx" "$(TargetDir)" 对我不起作用。我纠结了45分钟,直到我偶然找到了 这个页面,然后尝试了以下方法:

xcopy /y "$(SolutionDir)MyProject\myFile.xxx" "$(TargetDir)" 

5
此外,您还可以通过宏来完成。在Post/Pre Build事件命令行中,展开宏即可。
copy  "$(TargetPath)" "$(SolutionDir)MyProject\Bin\Debug\";

0
请检查您在命令提示符中输入的路径,它可能无法找到文件或文件夹。

-2
在我的情况下,我将每个项目的解决方案配置从发布更改为调试,并解决了问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接