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

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命令是多行时,从web上复制它并粘贴到VS中会导致问题。

在我的案例中,问题发生在我试图在命令行上为测试类库中的Post-build事件使用命令时。当你像这样使用引号时:

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

或者如果你使用控制台:

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

这为我解决了问题。

另一个变体:

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

对我来说,它发生在一个大型解决方案(~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并再次打开它时,问题就解决了。