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

AssemblyInfo.cs退出,代码为9009


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


当前回答

至少在Visual Studio Ultimate 2013, Version 12.0.30723.00 Update 3中,不能用换行符分隔if/else语句:

工作原理:

if '$(BuildingInsideVisualStudio)' == 'true' (echo local) else (echo server)

不工作:

if '$(BuildingInsideVisualStudio)' == 'true' (echo local) 
else (echo server)

其他回答

很可能在最终路径上有空间。

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

xcopy "$(SolutionDir)\Folder Name\File To Copy.ext" "$(TargetDir)" /R /Y /I

另外,确保在项目的构建后事件编辑窗口中没有换行符。有时,当xcopy命令是多行时,从web上复制它并粘贴到VS中会导致问题。

对我来说,它发生在一个大型解决方案(~80个项目)中从一个PostSharp版本升级到下一个版本的nuget包之后。 我在预构建事件中有命令的项目有编译器错误。

'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. config . exe "cmd ServiceInterfaces退出,代码为9009。

PATH变量已损坏,变得太长,与PostSharp.Patterns.Diagnostics相关的多个重复路径。 当我关闭Visual Studio并再次打开它时,问题就解决了。

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

由于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\

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

检查拼写。我试图调用一个可执行文件,但有名称拼写错误,它给了我退出与代码9009消息。