我在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
答案 0 :(得分:9)
在我的情况下,我必须将我的Post-build事件中的$(MSBuildBinPath)\ msbuild.exe更改为“$(MSBuildBinPath)\ msbuild.exe”,因为该路径包含空格。
作为旁注:我只需要在VS 2013中这样做 - VS 2012和2010都可以在没有引号的情况下处理这个问题。
答案 1 :(得分:5)
当一些糟糕的安装程序破坏了系统环境,特别是PATH环境变量时,就会发生这种情况。所以msbuild无法再执行xcopy.exe程序。
通过启动命令提示符并键入PATH
来获取基本诊断信息。验证您是否列出了c:\ windows \ system32。然后键入where xcopy.exe
并验证您只获得一次命中,即c:\ windows \ system32中的命中。然后键入xcopy /?
以验证您是否可以运行xcopy。如果您不知道如何修复它,请在superuser.com上询问
答案 2 :(得分:1)
在Visual Studio解决方案资源管理器中右键单击您的项目,然后选择“属性”以访问项目属性窗口,单击“构建事件”,您将看到两个带有前/后构建步骤的文本框。
检查postbuild步骤中的所有路径是否正确且有效。
尝试设置xcopy命令的完整路径 c:\ windows \ system32 \ xcopy.exe