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

AssemblyInfo.cs退出,代码为9009


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


当前回答

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

其他回答

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

使用Visual Studio 2010:

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

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

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

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

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

我通过简单地重新启动Visual Studio来解决这个问题——我刚刚在控制台窗口中运行了dotnet工具安装xxx, VS还没有选择新的环境变量和/或路径设置,所以快速重新启动解决了这个问题。

至少在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)

我有同样的错误导致我的后构建脚本,我试图在命令提示符中逐行运行脚本。最后我发现根本原因是我没有填充.nuspec文件中缺失的信息,即将$和$之间的所有变量替换为实际值,例如将$author$替换为我的名字