在这个构建过程中,“exited with code 9009”是什么意思?

339

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

AssemblyInfo.cs 以代码9009退出


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


8
楼主不会回来修复这个问题,但它有很多答案和谷歌搜索引擎优化效果。所以,我们尝试推断一下问题的原因? - Anthony Mastrean
16
输出窗口让我对这个问题有了一些了解,而我也遇到了类似的问题。 - hanzolo
36个回答

5

检查拼写。我试图调用一个可执行文件,但是名称拼错了,因此出现了退出代码9009的消息。


1
在此基础上,添加一个检查您的系统中是否存在可执行文件的步骤。 - Joshua Drake

4

另一种情况:

今天我在win32上使用cron调用python解释器,但是由于cron使用的系统帐户没有指向Python目录的路径,因此退出代码(%ERRORLEVEL%)为9009。


4
在我的情况下,当我尝试在测试类库的“后生成事件”中使用命令行命令时出现了问题。当您使用引号时,请按以下方式操作:
"$(SolutionDir)\packages\NUnit.Runners.2.6.2\tools\nunit" "$(TargetPath)" 

或者如果您正在使用控制台:

"$(SolutionDir)\packages\NUnit.Runners.2.6.2\tools\nunit-console" "$(TargetPath)"

这对我解决了问题。

4

tfa的回答被downvote了,但实际上可能会导致这个问题。感谢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.

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

3

我通过简单地重新启动Visual Studio来解决了这个问题 - 我刚刚在控制台窗口中运行了dotnet tool install xxx,而VS还没有获取新的环境变量和/或路径设置,因此快速重新启动即可解决该问题。


3

我在预构建步骤的末尾添加了"> myFile.txt",然后检查实际错误文件。


3

同时,请确保在项目的后生成事件编辑窗口中没有换行符。有时,将多行xcopy命令从网络复制并粘贴到VS中会导致问题。


虽然Jesse提到在xcopy命令中不要有换行是正确的,但请注意,在一般情况下,在此字段中有换行是有效的;每行应被解释为自己的命令。 - RJFalconer

2
在一个大型解决方案(约80个项目)中,我升级了NuGet包从一个PostSharp版本到下一个版本,然后出现了编译器错误,这些项目在PreBuild事件中有命令。
'cmd'不被认为是一个内部或外部命令、可执行程序或批处理文件。 C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1249,5):错误MSB3073:命令“cmd /c C:\GitRepos\main\ServiceInterfaces\DEV.Config\PreBuild.cmd ServiceInterfaces”退出代码9009。
PATH变量被破坏,路径太长了,有多个重复的路径与PostSharp.Patterns.Diagnostics相关联。 当我关闭Visual Studio并重新打开它时,问题得到了解决。

2
对我而言,磁盘空间很低,可能会出现无法写入文件但稍后又需要的情况。其他回答提到了缺失文件(或文件命名错误/引用不当)——但根本原因是磁盘空间不足。

2

这是因为空格所在路径导致的另一种文件未找到的变体,我的情况出现在msbuild脚本中。我需要在exec命令中使用HTML样式&ampquot字符串。

<!-- Needs quotes example with my Buildscript.msbuild file --> 
<Exec Command="&quot;$(MSBuildThisFileDirectory)\wix\wixscript.bat&quot; $(VersionNumber) $(VersionNumberShort)" 
    ContinueOnError="false" 
    IgnoreExitCode="false" 
    WorkingDirectory="$(MSBuildProjectDirectory)\wix" />

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接