9

我在 VS 2010 上有一个解决方案,它一直在构建且没有错误,然后构建开始失败并出现以下错误:-

**error MSB3073: The command "xcopy "C:\Program Files\Microsoft SDKs\Kinect\Developer Toolkit v1.5.1\Redist\amd64\FaceTrackLib.dll" "C:\Users\HP\Documents\FaceTrackingVisualization\Out\SingleFace\x64\Debug\" /eiycq
xcopy "C:\Program Files\Microsoft SDKs\Kinect\Developer Toolkit v1.5.1\Redist\amd64\FaceTrackData.dll" "C:\Users\HP\Documents\FaceTrackingVisualization\Out\SingleFace\x64\Debug\" /eiycq
:VCEnd" exited with code 9009.  C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets   113 6   SingleFace**

我不知道,在网上的解决方案中人们说要查找空格或缩进错误,但我不明白在哪里编辑这些更改..错误将我指向这些代码行错误行是粗线

Target Name="PostBuildEvent" Condition="'$(PostBuildEventUseInBuild)'!='false'"

 Message Text="Description: %(PostBuildEvent.Message)" Condition="'%(PostBuildEvent.Message)' != '' and '%(PostBuildEvent.Command)' != ''"/

 **Exec Command="%(PostBuildEvent.Command)$(BuildSuffix)" Condition="'%(PostBuildEvent.Command)' != ''"/**

  /Target
4

3 回答 3

9

在我的情况下,我不得不将我的构建后事件中的 $(MSBuildBinPath)\msbuild.exe 更改为“$(MSBuildBinPath)\msbuild.exe”,因为路径包含空格。

附带说明:我只需要在 VS 2013 中这样做 - VS 2012 和 2010 都可以在没有引号的情况下处理这个问题。

于 2013-11-29T13:35:26.340 回答
5

当一些糟糕的安装程序破坏了系统环境,尤其是 PATH 环境变量时,就会发生这种情况。所以 msbuild 不能再执行 xcopy.exe 程序。

通过启动命令提示符并键入来获取基本诊断信息PATH。确认您看到 c:\windows\system32 列出。然后键入where xcopy.exe并确认您只得到一个命中,即 c:\windows\system32 中的那个。然后键入xcopy /?以验证您是否可以运行 xcopy。如果您不知道如何解决,请访问 superuser.com

于 2012-11-28T14:49:31.667 回答
1

在 Visual Studio 解决方案资源管理器中右键单击您的项目并选择“属性”以访问项目属性窗口,单击“构建事件”,您将看到两个包含构建前/构建后步骤的文本框。

  • 检查构建后步骤中的所有路径是否正确且有效。

  • 尝试设置 xcopy 命令的完整路径c:\windows\system32\xcopy.exe

于 2012-11-28T10:10:36.883 回答