生成后脚本在VIsual Studio 2010中引发错误

Post-Build script throws error in VIsual Studio 2010

本文关键字:2010 错误 Studio VIsual 脚本      更新时间:2023-10-16

我见过几个线程有同样的问题,但似乎没有一个解决方案对我有效,所以我在这里尝试。

我需要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"

人们似乎最常见的问题是路径上缺少引号,但我有。

为什么它不起作用?

这应该更接近:

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

在命令行上进行快速测试后,copy的情况是由于目录不存在而失败。xcopy的情况是,当它发现目标是文件还是目录不存在时,它会提示目标是文件或目录。/-Y可能在您的COPYCMD环境变量中设置,或者您的目标路径可能具有误导性,从而导致提示目标是否是/Y覆盖标志未支持的目录或文件。

示例:xcopy /Y "C:test.txt" "missingdirectorytest5.txt"

显然,最简单的解决方案是在构建后脚本中进行复制之前,检查目录是否存在,如果缺少,则创建该目录。