Что означает «выход с кодом 9009» во время этой сборки? - PullRequest
274 голосов
/ 29 августа 2009

Что означает это сообщение об ошибке? Что я мог сделать, чтобы исправить эту проблему?

AssemblyInfo.cs завершен с кодом 9009


Проблема, вероятно, возникает как часть шага после сборки в решении .NET в Visual Studio.

Ответы [ 31 ]

232 голосов
/ 17 февраля 2010

Вы пытались указать полный путь к команде, которая выполняется в команде события до или после сборки?

Я получил ошибку 9009 из-за команды xcopy post-build event в Visual Studio 2008.

Команда "xcopy.exe /Y C:\projectpath\project.config C:\compilepath\" завершена с кодом 9009.

Но в моем случае это тоже было с перебоями. То есть сообщение об ошибке сохраняется до перезагрузки компьютера и исчезает после перезагрузки компьютера. Он вернулся после некоторой отдаленно связанной проблемы, которую мне еще предстоит обнаружить.

Однако в моем случае предоставление команды с полным путем решило проблему:

c:\windows\system32\xcopy.exe /Y C:\projectpath\project.config C:\compilepath\ 

Вместо просто:

xcopy.exe /Y C:\projectpath\project.config C:\compilepath\

Если у меня нет полного пути, он запускается некоторое время после перезапуска, а затем останавливается.

Также, как упоминалось в комментариях к этому сообщению, , если в полном пути есть пробелы , тогда необходимо ввести кавычки вокруг команды . Например.

"C:\The folder with spaces\ABCDEF\xcopy.exe" /Y C:\projectpath\project.config C:\compilepath\

Обратите внимание, что этот пример с пробелами не тестировался.

94 голосов
/ 16 марта 2014

Код ошибки 9009 означает, что файл ошибки не найден. Все причины, приведенные в ответах, являются хорошим источником вдохновения, чтобы понять, почему, но сама ошибка просто означает неверный путь.

81 голосов
/ 03 апреля 2012

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

call "$(DevEnvDir)..\Tools\vsvars32.bat"

Он должен быть помещен перед любой другой командой.
Он установит среду для использования инструментов Microsoft Visual Studio 2010 x86.

55 голосов
/ 13 августа 2010

Скорее всего, у вас есть место в вашем пути.

Вы можете обойти это, заключив в кавычки пути, тем самым оставляя пробелы. Например:

xcopy "$(SolutionDir)\Folder Name\File To Copy.ext" "$(TargetDir)" /R /Y /I
11 голосов
/ 19 июня 2012

Была такая же переменная после изменения переменной PATH из переменных среды в Win 7. Помогло возвращение к стандартному.

10 голосов
/ 16 июня 2011

У меня была ошибка 9009, когда мой сценарий событий после сборки пытался запустить пакетный файл, который не существует по указанному пути.

6 голосов
/ 02 января 2014

Я вызвал эту ошибку, когда отредактировал переменную окружения Path. После редактирования я случайно добавил Path= в начало строки пути. С такой неверно сформированной переменной пути мне не удалось запустить XCopy из командной строки (команда или файл не найдены), а Visual Studio отказалась выполнить шаг после сборки, сославшись на ошибку с кодом 9009.

XCopy обычно находится в C: \ Windows \ System32. Как только переменная среды Path позволила разрешить XCopy в командной строке DOS, Visual Studio хорошо построила мое решение.

5 голосов
/ 04 мая 2013

В моем случае мне пришлось сначала «CD» (сменить каталог) в нужный каталог, прежде чем вызывать команду, поскольку вызываемый мной исполняемый файл находился в каталоге моего проекта.

Пример:

cd "$(SolutionDir)"
call "$(SolutionDir)build.bat"
5 голосов
/ 07 июня 2012

Проверьте орфографию. Я пытался вызвать исполняемый файл, но его имя было написано с ошибкой, и это дало мне сообщение exited with code 9009.

5 голосов
/ 17 октября 2014

Моя точная ошибка была

The command "iscc /DConfigurationName=Debug "C:\Projects\Blahblahblah\setup.iss"" exited with code 9009.

9009 означает, что файл не найден, но на самом деле не удалось найти часть команды «iscc».

Я исправил это, добавив ";C:\Program Files\Inno Setup 5 (x86)\" к системной переменной среды "path"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...