【问题标题】:MSBuild exited with code 1 errorMSBuild 退出并出现代码 1 错误
【发布时间】:2017-07-21 11:23:01
【问题描述】:

我在尝试构建解决方案时遇到以下错误。

Error       The command "

      copy "D:\Code\..\libs\xyz_ext.x64.dll" "D:\Code\bin\"

      copy "D:\Code\..\libs\xyz.x86.dll" "D:\Code\bin\"

      " exited with code 1. C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets 4714

【问题讨论】:

  • 通常我将失败的命令复制到 cmd 提示符中并手动运行它以确定失败的原因。您也可以考虑使用 Visual Studio 环境变量,而不是硬编码程序集的路径。
  • 标准 Windows 错误代码 1 是无效函数。输出中还有其他内容吗?
  • 这是来自构建后事件的真正命令(包括 \..)吗?
  • @sahil,这个问题有什么更新吗?你能从下面的答案中得到任何有用的信息吗?如果没有,请让我们知道此问题的最新状态。
  • 我无法解决它,我使用了重复版本的代码,它开始工作了

标签: c# asp.net visual-studio-2015 msbuild post-build-event


【解决方案1】:

MSBuild 退出并出现代码 1 错误

首先,就像喷嘴人评论“这是来自构建后事件的真正命令(包括..)”如果是,这就是您收到此错误的原因。那是因为构建事件遵循与 DOS 命令相同的语法,并且 DOS 从不支持 shell 路径中的通配符 * 扩展和 \..\。所以你应该在命令行中指定完整路径。

另外,如果你想将文件复制到Code的所有子文件夹中,你需要使用现有的windows工具(cmd.exe),或者带有通配符*的powershell,例如powershell:

这是 .ps1 文件中的代码:

Get-ChildItem "D:\Code\*\libs" -Recurse -Include xyz_ext.x64.dll | Copy-Item -Destination D:\Code\bin

然后通过构建后事件执行这个 PS 脚本:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -file D:\Code\Test.ps1

如果\..\ 不是来自构建后事件的真正命令,则只是一个简写表达式。您应该检查此命令的路径。根据错误日志“code 1 error”,说明该命令不正确。而且我检查了这个命令,copy的语法是正确的,所以问题是路径不正确,你应该仔细检查一下。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-19
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    相关资源
    最近更新 更多