在此版本中,"退出代码9009"是什么意思?

280 .net visual-studio

这个错误信息是什么意思?我该怎么做才能解决这个问题?

AssemblyInfo.cs退出代码9009


问题可能是Visual Studio中.NET解决方案中的构建后步骤的一部分.

the*_*hhv 238

您是否尝试提供在构建前或构建后事件命令中运行的命令的完整路径?

由于xcopyVisual Studio 2008中的构建后事件命令,我收到了9009错误.

该命令"xcopy.exe /Y C:\projectpath\project.config C:\compilepath\"退出代码9009.

但就我而言,它也是断断续续的.也就是说,错误消息一直持续到计算机重新启动,并在重新启动计算机后消失.我还没有发现一些远程相关的问题.

但是,在我的情况下,提供命令及其完整路径解决了问题:

c:\windows\system32\xcopy.exe /Y C:\projectpath\project.config C:\compilepath\ 
Run Code Online (Sandbox Code Playgroud)

而不仅仅是:

xcopy.exe /Y C:\projectpath\project.config C:\compilepath\
Run Code Online (Sandbox Code Playgroud)

如果我没有完整路径,它会在重启后运行一段时间,然后停止.

同样如本文评论中所述,如果完整路径中有空格,则需要在命令周围加上引号.例如

"C:\The folder with spaces\ABCDEF\xcopy.exe" /Y C:\projectpath\project.config C:\compilepath\
Run Code Online (Sandbox Code Playgroud)

请注意,此示例中没有测试空格.

  • 我还收到了关于帖子和预构建事件的9009错误.在Visual Studio中检查"输出"选项卡会显示问题.在我的情况下,我试图访问包含空格的路径 (42认同)
  • 我有一个类似的问题,但它是文件夹名称中的空格的结果.将路径放在引号(`"$(SolutionDir)packages\NUnit.2.5.10.11092\tools \"nunit-console"$(TargetPath)"`)中解决了它. (15认同)
  • 是否有可能以某种方式丢失`PATH`环境变量?我时不时地得到这个错误.我有'npm install`设置作为预构建事件,并且最初它可以工作(所以我假设一切都已设置),但随后它将在白天停止工作(通常在我相信的解决方案/分支之间切换),并且它将不再了解`npm`.重新启动VS'修复'它...意味着我的`PATH`设置正确,但似乎是由VS起床.如果有办法从VS内部查看env变量,我可以确认这一点. (2认同)
  • 如果您想保护自己的版本以免在不同的环境中崩溃,例如,将Windows安装在D:\上,请结合使用环境变量和@thehhv答案:``%systemroot%\ System32 \ xcopy ...'' (2认同)

Chr*_*ini 101

错误代码9009表示找不到错误文件.这里答案中公布的所有潜在原因都是找出原因的好灵感,但错误本身只是一条糟糕的道路.


HRK*_*der 84

当您缺少使用Microsoft Visual Studio 2010 x86工具的某些环境设置时,会发生这种情况.
因此,尝试在构建后的步骤中添加第一个命令:

call "$(DevEnvDir)..\Tools\vsvars32.bat"
Run Code Online (Sandbox Code Playgroud)

它应该放在任何其他命令之前.
它将设置使用Microsoft Visual Studio 2010 x86工具的环境.

  • 你可以帮我解决 - 在哪里和哪个文件中我必须添加行`call'$(DevEnvDir)..\Tools\vsvars32.bat"`?谢谢 (3认同)
  • 我必须在我的`Path`环境变量中添加一个条目.检查"输出"窗口以获取更多信息. (2认同)
  • 谢谢,对于x64位工具链我解决了这样:"$(DevEnvDir)..\VC\vcvarsall.bat" (2认同)

Nil*_*han 56

很可能你的结果路径中有空间.

您可以通过引用路径来解决这个问题,从而允许使用空格.例如:

xcopy "$(SolutionDir)\Folder Name\File To Copy.ext" "$(TargetDir)" /R /Y /I
Run Code Online (Sandbox Code Playgroud)

  • +1 - 这正是我遇到的问题.我在后期构建中的命令在本地构建项目时起作用,但在构建服务器上构建时失败.我只是在双引号之间放置命令来修复它.谢谢. (9认同)

小智 11

在Win 7中从环境变量更改PATH变量后有相同的变量.更改回默认值有帮助.


Sle*_*Bos 10

当我的post build事件脚本试图运行指定路径中不存在的批处理文件时,我遇到了错误9009.


Gre*_*egC 6

当我编辑Path环境变量时,我发生了这个错误.编辑后,我不小心添加Path=到路径字符串的开头.使用这种格式错误的路径变量,我无法在命令行运行XCopy(没有找到命令或文件),并且Visual Studio拒绝运行构建后步骤,引用代码9009的错误.

XCopy通常位于C:\ Windows\System32中.一旦Path环境变量允许XCopy在DOS提示符下解析,Visual Studio就可以很好地构建我的解决方案.


hak*_*sor 5

如果脚本实际上做了它需要做的事情,那只是Visual Studio会让你知道你可以添加的错误:

exit 0
Run Code Online (Sandbox Code Playgroud)

到你的脚本结束.

  • 隐藏任何潜在的错误不应该是要走的路 (5认同)

Mar*_*ark 5

检查拼写.我试图调用可执行文件,但名称拼写错误,它给了我exited with code 9009消息.


Mat*_*zen 5

就我而言,由于调用的可执行文件位于项目目录中,因此在调用命令之前,必须先将CD(更改目录)设置为正确的目录。

例:

cd "$(SolutionDir)"
call "$(SolutionDir)build.bat"
Run Code Online (Sandbox Code Playgroud)


scw*_*scw 5

我确切的错误是

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

9009表示找不到文件,但它实际上找不到命令的"iscc"部分.

我通过添加";C:\Program Files\Inno Setup 5 (x86)\"到系统环境变量来修复它"path"


R. *_*ury 5

tfa 的答案已被否决,但实际上可能会导致此问题。感谢 hanzolo,我查看了输出窗口并发现了以下内容:

3>'gulp' is not recognized as an internal or external command,
3>operable program or batch file.
3>D:\dev\<filepath>\Web.csproj(4,5): error MSB3073: The command "gulp clean" exited with code 9009.
Run Code Online (Sandbox Code Playgroud)

运行后npm install -g gulp,我不再收到此错误。如果您在 Visual Studio 中收到此错误,请检查输出窗口并查看问题是否是未设置的环境变量。


Den*_*kov 4

另一种变体:

今天我在 win32 中从 cron 调用 python 解释器并获取 ExitCode (%ERRORLEVEL%) 9009,因为 cron 使用的系统帐户没有 Python 目录的路径。