2013-04-24 51 views
3

我试图在Visual Studio的Post build事件中运行批处理文件。在VS2012中发布构建事件。运行批处理文件

推荐Can we execute a .bat file in post build event command line in visual studio?作为参考。

当我张贴线

xcopy "$(ProjectDir)bin" "$(SolutionDir)Deploy\bin" /S in postbuild 

时得到预期的结果

同一行我把蝙蝠打过电话

call "$(SolutionDir)\Deploy.bat" 

call "Physical path\deploy.bat" 

上午越来越用代码1兴奋。我在这里做错了什么?

我可以在批处理文件中指定宏吗?

感谢

+0

你在'deploy.bat'中做了什么?你确定它没有错误吗?你有没有尝试从msbuild启用诊断日志记录,看看它是否会给你更多的细节? – outcoldman 2013-04-24 07:49:20

回答

6

你得到一个VS错误,因为它返回的退出代码不是0。这并不一定意味着出现了错误。

返回的错误代码表示没有文件被复制。 这些返回代码为的Xcopy:

  • 退出代码
    • 0文件被复制而不会出现错误。
    • 1找不到要复制的文件。
    • 2用户按下Ctrl + C来终止xcopy。
    • 4各种错误,包括内存不足或磁盘空间不足,驱动器名称无效或语法无效。
    • 5发生磁盘写入错误。

尝试在批处理文件中的代码。使用/ Y,这样你就不必处理任何提示。您可以与其他动作处理的1返回代码或只是返回0

VS后生成的命令行代码:

CALL "$(SolutionDir)"Deploy.bat "$(ProjectDir)bin" "$(SolutionDir)Deploy\bin"

DEPLOY.BAT文件

Xcopy %1 %2 /S /Y

If errorlevel 1 @exit 0