这个错误消息是什么意思?我能做些什么来纠正这个问题?
AssemblyInfo.cs退出,代码为9009
这个问题可能是在Visual Studio中的. net解决方案的构建后步骤中发生的。
这个错误消息是什么意思?我能做些什么来纠正这个问题?
AssemblyInfo.cs退出,代码为9009
这个问题可能是在Visual Studio中的. net解决方案的构建后步骤中发生的。
当前回答
由于路径中有空格,还没有找到文件的另一个变体。在我的情况下,在msbuild脚本。我需要在exec命令中使用HTML样式的&quot字符串。
<!-- Needs quotes example with my Buildscript.msbuild file -->
<Exec Command=""$(MSBuildThisFileDirectory)\wix\wixscript.bat" $(VersionNumber) $(VersionNumberShort)"
ContinueOnError="false"
IgnoreExitCode="false"
WorkingDirectory="$(MSBuildProjectDirectory)\wix" />
其他回答
您是否尝试给出在构建前或构建后事件命令中运行的命令的完整路径?
由于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\
注意,这个关于空格的例子没有经过测试。
当您缺少使用Microsoft Visual Studio x86工具的一些环境设置时,就会发生这种情况。 因此,尝试在构建后的步骤中添加作为第一个命令:
使用Visual Studio 2010:
call "$(DevEnvDir)..\Tools\vsvars32.bat"
正如@FlorianKoch在评论中提到的,对于VS 2017的使用:
call "$(DevEnvDir)..\Tools\VsDevCmd.bat"
它应该放在任何其他命令之前。 它将为使用Microsoft Visual Studio x86工具设置环境。
我有同样的错误导致我的后构建脚本,我试图在命令提示符中逐行运行脚本。最后我发现根本原因是我没有填充.nuspec文件中缺失的信息,即将$和$之间的所有变量替换为实际值,例如将$author$替换为我的名字
我也有类似的问题,我收到了:
命令 ”“C: \ <用户> \用户下载\ XmlDoc2CmdletDoc.0.3.0 \建立. . \ \ sandbox-attacksurface-analysis-tools-c02ed8ba04324e54a0a188ab9877ee6aa372dfac \包工具” C:\Users<user>\Downloads\sandbox-attack - surface-analysis-tools-c02ed8ba04324e54a0a188ab9877ee6aa372dfac\bin\Debug\NtObjectManager.dll" 用代码9009退出。
我当到项目属性>构建和检查XML文档文件:
在那之后,我重建了这个项目,但它消失了。奇怪的是,在我再次选中复选框并重新构建它之后,错误没有返回。 重影故障. .
这是非常基本的,我遇到过这样的问题,而且是令人尴尬的简单失败。
应用程序使用命令行参数,我删除了它们,然后将它们添加回来。突然,这个项目没能建成。
Visual Studio ->项目属性->验证您使用的是“调试”选项卡(而不是“生成事件”选项卡)->命令行参数
我使用了和Post/Pre-build文本区域,这在这种情况下是错误的。