【问题标题】:Visual Studio Post Build copy command error MSB3073 exit code 1Visual Studio Post Build 复制命令错误 MSB3073 退出代码 1
【发布时间】:2014-08-29 10:52:49
【问题描述】:

所以我有 C++ Player 项目,它有 2 个其他项目依赖项,这两个项目依赖项都有构建后事件以将 dll 复制到另一个文件夹。该项目正在建设中,然后它决定不随意工作,从那以后我还没有找到解决方案。即使从 SVN 进行了干净的结帐,它仍然无法正常工作,它适用于除我之外的所有其他开发人员。

我检查了错误消息中的路径,它们确实存在,目标 dll 也存在。

每个依赖项目中的构建后事件:

copy $(TargetPath) $(ProjectDir)..\..\$(Configuration)\plugins\$(ProjectName).dll

产生的错误:

错误 MSB3073:命令“复制 C:\CMDev\CM2\Client\Apps\SSEP\Player\ACRP\CIAP\Debug\CIAP.dll C:\CMDev\CM2\Client\Apps\SSEP\Player\ACRP\CIAP....\Debug\plugins\CIAP.dll:VCEnd" 以代码 1 退出。C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets 131 5

当前设置:

  • 运行 Windows 7 Ultimate Service Pack 1
  • Visual Studio Pro v12.0.30723.00 Update 3,在管理员下运行。

我尝试了什么:

  • 将 Visual Studio 2013 Pro 更新为更新 3(从更新 1)
  • 使用 /Y 参数为每​​个路径加上引号,例如复制 /Y "源" "目的地"
  • 试过 xcopy。
  • 尝试单独清理并重新构建每个依赖项。
  • 卸载 Visual C++ 2010 和 2012、x86 和 x64 Redistributable,并重新安装所有 4 个版本。

我还能尝试什么?

【问题讨论】:

  • 听起来您已经尝试了很多方法来调查您的问题。但是,您是否尝试过启用 project logging? 它在 VS2012 中对我有用,所以它可能会指出问题。

标签: c++ visual-studio-2013


【解决方案1】:

问题在于 VS 如何附加 :VCEnd 后缀。不知何故,microsoft.CppCommon.targets 文件被错误地修改了。

  <PropertyGroup>
      <_BuildSuffix>
:VCEnd</_BuildSuffix>
  </PropertyGroup>

【讨论】:

  • 那么如何修复该文件?
【解决方案2】:

双击编译器错误时,我被带到同一个文件(microsoft.CppCommon.target)。但是,此文件是作为 Visual Studio 安装的一部分安装的,不可写入保存(由于其权限),因此似乎是一个红鲱鱼。文件内容与@user1883004's answer相同。

使用源代码控制系统,我做了以下工作:

  1. 关闭 Visual Studio
  2. 从项目根目录中删除所有文件,并从源代码管理中强制重新下载
  3. 打开 Visual Studio,然后重新编译。

如果没有源代码控制系统,请尝试以下不同的步骤:-

  1. 关闭 Visual Studio
  2. 手动删除 Debug/Release(或任何其他生成的子目录)
  3. 打开 Visual Studio,然后重新编译。

请注意,Clean SolutionRebuild Solution 都不适合我。

【讨论】:

  • 这对我有用,但我必须在 Visual Studio 中创建一个新项目,并将所有文件复制到新项目中。
猜你喜欢
  • 1970-01-01
  • 2016-11-29
  • 1970-01-01
  • 1970-01-01
  • 2016-09-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多