这个错误消息是什么意思?我能做些什么来纠正这个问题?

AssemblyInfo.cs退出,代码为9009


这个问题可能是在Visual Studio中的. net解决方案的构建后步骤中发生的。


当前回答

当我的后构建事件脚本试图运行指定路径中不存在的批处理文件时,我有错误9009。

其他回答

另一个变体:

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

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

使用Visual Studio 2010:

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

正如@FlorianKoch在评论中提到的,对于VS 2017的使用:

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

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

在我的情况下,在调用命令之前,我必须先“CD”(更改目录)到适当的目录,因为我调用的可执行文件在我的项目目录中。

例子:

cd "$(SolutionDir)"
call "$(SolutionDir)build.bat"

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

由于Visual Studio 2008中的xcopy post-build事件命令,我得到了9009错误。

命令“xcopy.exe /Y C:\projectpath\project. exe”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\

注意,这个关于空格的例子没有经过测试。

当找不到signtool.exe本身时,我实际上得到了这个错误消息。为了解决这个问题,我将文件夹路径添加到path环境变量中,并重新启动Visual Studio。