Предварительно созданная команда копирования события завершается с кодом 1

У меня есть следующее в событии предварительной сборки:

copy /y $(ProjectDir)ThirdPartyAssemblies\ $(TargetDir)

Что приводит к следующей ошибке:

Команда "copy /y C:\Users\myusername\Documents\Visual Studio 2010\Projects\mysolution\myproject\ThirdPartyAssemblies* C:\Users\myusername\Documents\Visual Studio 2010\ Проекты \mysolution\myproject\bin\Debug\"выход с кодом 1.

Я пробовал это в событии пост сборки тоже и получаю ту же ошибку. Тем не менее, когда я запускаю команду, она приводит (в ошибке) в окне консоли, она работает нормально. Что я делаю неправильно?

5 ответов

Решение

Я не уверен, связано ли это с ошибкой, которую вы получаете, но вам нужно поместить кавычки вокруг вашего пути / имени файла, так как в них есть пробелы.

copy / y "C: \ Users \ myusername \ Documents \ Visual Studio 2010 \ Projects \ mysolution \ myproject \ ThirdPartyAssemblies *" "C: \ Users \ myusername \ Documents \ Visual Studio 2010 \ Projects \ mysolution \ myproject \ bin \ Debug \ "

copy /y "$(SolutionDir)MyProject\myFile.xxx" "$(TargetDir)" не работал для меня. Я вырывал свои волосы в течение 45 минут, пока не наткнулся на эту страницу, а затем попытался:

xcopy /y "$(SolutionDir)MyProject\myFile.xxx" "$(TargetDir)" 

Также вы можете сделать это с помощью макросов. В командной строке события Post/Pre-build разверните макросы.

copy  "$(TargetPath)" "$(SolutionDir)MyProject\Bin\Debug\";

Проверьте путь, который вы написали в командной строке, он не может найти файл или папку.

В моем случае я изменил конфигурацию решения с выпуска на отладку для каждого проекта, и это решило проблему.

Другие вопросы по тегам