Что происходит не так, когда Visual Studio говорит мне «xcopy завершен с кодом 4» - PullRequest
112 голосов
/ 11 апреля 2011

Я не очень знаком с событиями после сборки, поэтому я немного смущен тем, что происходит с моей программой.При компиляции в Visual Studio 2010 я получаю следующее:

The command "xcopy C:\Users\Me\Path\Foo.bar\Library\dsoframer.ocx C:\Users\Me\Path\Foo.bar\bin\Debug\ /Y /E /D
xcopy C:\Users\Me\Path\Foo.bar\ApplicationFiles C:\Users\Me\Path\Foo.bar\bin\Debug\ /Y /E /D
xcopy C:\Users\Me\Path\url\ C:\Users\Me\Path\Foo.bar\bin\Debug\ /Y /E /D
rmdir /S /Q C:\Users\Me\Path\Foo.bar\bin\Debug\.gwt-tmp" exited with code 4.    

Программа выглядит нормально , несмотря на эту ошибку, но я не хочу просто игнорировать эту проблему инадеюсь, ничего плохого не случится.Как ни странно, эта строка начиналась как единственная команда (первая xcopy), но, поскольку я продолжал компилировать проект (исправляя другие проблемы, в основном ссылки), сообщение об ошибке расширялось все больше и больше.Любая идея, что может происходить?

Редактировать: Вот события после сборки, которые, кажется, терпят неудачу -

xcopy $(ProjectDir)Library\dsoframer.ocx $(TargetDir) /Y /E /D
xcopy $(ProjectDir)ApplicationFiles $(TargetDir) /Y /E /D
xcopy $(SolutionDir)com.myUrl.gwt\www $(TargetDir) /Y /E /D
rmdir /S /Q $(TargetDir).gwt-tmp

Ответы [ 13 ]

0 голосов
/ 16 января 2019

Еще одна вещь, на которую следует обратить внимание, это двойная обратная косая черта, поскольку xcopy не допускает их в параметре входного пути (но делает допустимым для них в выходном пути ...).

enter image description here

0 голосов
/ 15 января 2019

У меня была команда post build, которая прекрасно работала до того, как я сделал обновление на VS 2017. Оказалось, что инструменты SDK обновились и находились под новым путем, поэтому он не смог найти инструмент, который использовал для подписи своегосборки.

Это изменилось с этого ....

call "%VS140COMNTOOLS%vsvars32"
    "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\x64\sn.exe" -Ra "$(TargetPath)" "$(ProjectDir)Key.snk"

На Это ...

"C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64\sn.exe" -Ra "$(TargetPath)" "$(ProjectDir)Key.snk"

Очень тонкое, но разрушительное изменение, поэтому проверяйте свои пути послеобновление, если вы видите эту ошибку.

0 голосов
/ 11 декабря 2018

У меня была такая же проблема. Вы также можете проверить, куда указывает косая черта. Для меня это работало, чтобы использовать обратную косую черту вместо прямой косой черты. Пример

xcopy /s /y "C:\SFML\bin\*.dll" "$(OutDir)"

Вместо:

xcopy /s /y "C:/SFML/bin/*.dll" "$(OutDir)"
...