Как я могу разрешить ошибку: "Команда [...] вышла с кодом 1"?
Я читал много вопросов, но мне не удалось найти правильный ответ для меня.
Как я пытаюсь скомпилировать проект в VS2012, у меня есть этот результат:
Команда "....\tools\bin\nuget pack Packages\Lib.Html.nuspec - OutputDirectory....\bin\Zip\Packages -NoPackageAnalysis" вышла с кодом 1.
Я искал строку кода в моем файле .csproj, где должна быть ошибка, и есть:
<Exec Command="$(ProjectDir)..\..\tools\bin\nuget pack $(ProjectDir)Packages\Lib.Html.nuspec -OutputDirectory $(OutputPath)Packages -NoPackageAnalysis" />
Что я делаю неправильно?
[EDIT]
Запустив Debug этого проекта и игнорируя "ошибки построения", у меня появилось новое предупреждение:
"Visual Studio не может начать отладку, поскольку отсутствует цель отладки [project.exe path]".
Пожалуйста, создайте проект и повторите попытку, или установите свойства OutputPath и AssemblyName соответствующим образом, чтобы указать правильное местоположение целевой сборки. "
Ответы
Ответ 1
На первом этапе выясняется, что такое ошибка. Для этого расширьте свой вывод MsBuild для диагностики. Это покажет фактическую выполненную команду и, надеюсь, полное сообщение об ошибке, а также
- Инструменты → Параметры
- Проекты и решения → Создание и запуск
- Измените "Многословность сборки проекта MsBuild" на "Диагностика".
Ответ 2
Щелкните правой кнопкой мыши проект → Свойства → События сборки
Удалить текст в текстовом блоке командной строки события Post-build
Ответ 3
Для меня: у меня есть пробел в папке с именем пути G:\Other Imp Projects\Mi.....
Решение 1:
Удалить пробел из папки
Пример: Other Imp Projects
- >> Other_Imp_Projects
Решение 2:
добавьте цитату (""
) для вашего пути.
Пример: mkdir "$(ProjectDir)$(OutDir)Configurations"
//см. Двойные кавычки
Ответ 4
Для меня в VS 2013 я должен был избавиться от недостающих ссылок в разделе "Ссылки" в проекте пользовательского интерфейса (MVC). Оказывается, недостающие не упоминались.
Ответ 5
Попробуйте открыть Visual Studio с правами администратора.
Ответ 6
Я знаю, что уже слишком поздно, но это тоже может кому-то помочь.
В моем случае я обнаружил, что исходный файл используется другим процессом, который ограничивал копирование в место назначения. Я обнаружил, что с помощью командной строки (просто скопируйте и вставьте команду post build в командную строку, и после выполнения вы получите информацию об ошибке).
Убедитесь, что вы можете скопировать из командной строки,
Ответ 7
Удаление пробела сработало для меня. Большое спасибо Саурин Вала
Ответ 8
Это основано на ответе от JaredPar... и для VS2017. Те же параметры "Построить и запустить" присутствуют в Visual Studio 2017.
Я получаю, команда "chmod +x" "" вышла с кодом 1
В окне вывода сборки я искал "Ошибка" и обнаружил несколько ошибок в той же общей области. Я смог щелкнуть ссылку в выводе сборки и обнаружил, что ошибка связана с этой записью в файле .targets:
<Target Name="ChmodChromeDriver" BeforeTargets="BeforeBuild" Condition="'$(WebDriverPlatform)' != 'win32'">
<Exec Command="chmod +x "$(ChromeDriverSrcPath)"" />
</Target>
В выходных данных сборки я также нашел более подробное сообщение об ошибке, в котором говорилось, что он не может найти Selenium.WebDriver.ChromeDriver v2.36 в папке пакетов, в которой он просматривал. Я проверил пакеты проекта NuGet, и версия 2.36 была действительно в списке установленных пакетов. Я нашел файлы пакета для 2.36 и изменил атрибуты папки, подпапок и файлов с "Только чтение" на "Чтение/запись". Построен, но такой же провал. Иногда "обновление" до другой версии пакета с последующим обновлением до первоначального может исправить этот тип ошибки. Поэтому я "обновил" ссылку в пакетах управления NuGet до версии 2.37, собрал, не смог, затем "обновил" обратно до 2.36, собрал, и сборка прошла успешно без сообщения об ошибке "chmod +x".
Проект, который я строил, был основан на шаблоне Visual Studio Project для инструментов тестирования Appium с именем шаблона "Develop_Automated_Test".
Ответ 9
Проверьте свои пути. Если вы используете отдельный сервер сборки для TFS (скорее всего), убедитесь, что все ваши пути в файле .csproj соответствуют путям сервера TFS. Я получил вышеуказанную ошибку при проверке в файле *.csproj, когда в нем были ссылки на пути моей машины разработки, а не пути сервера TFS.
Удаление многострочных команд. Кроме того, попробуйте и удалите многострочные команды в однострочные команды в xml в качестве меры предосторожности. У меня был следующий xml в *.proj, который вызывал проблемы в TFS:
<Exec Condition="bl.."
Command=" Blah...
..." </Exec>
Изменение вышеупомянутого xml на это сработало:
<Exec Condition="bl.." Command=" Blah..." </Exec>