MSBuild因代码1错误而失败

时间:2017-11-22 12:19:25

标签: gulp visual-studio-2017

我使用gulp task runner构建项目时会出现以下错误。它发生得非常好。如果我关闭visual studio,打开一个新实例并再次运行该任务就会开始工作。有谁知道造成这种情况的原因是什么?

消息:     MSBuild失败,代码为1! 堆: 错误:MSBuild失败,代码为1!     在ChildProcess。 (C:\项目\项目名\ node_modules \吞-的msbuild \ lib中\的msbuild-runner.js:97:25)     在emitTwo(events.js:106:13)     在ChildProcess.emit(events.js:191:7)     在Process.ChildProcess._handle.onexit(internal / child_process.js:215:12) 流程以代码1终止。

1 个答案:

答案 0 :(得分:0)

停止IIS。在admin cmd中运行iisreset / stop。

删除C:\ windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ ASP.NET临时文件下的所有文件和文件夹

启动IIS。在admin cmd中运行iisreset / start。

重新启动Visual Studio

调用是否删除或重命名项目中包含的任何文件。如果已删除,请从csproj文件或正在导入或引用它的任何其他代码文件中删除文件引用(如果该引用仍然存在)。如果文件已重命名,请查看文件名是否在csproj中正确反映。同样,如果有任何具有旧名称的文件引用,请删除该引用。有时,如果您要用它处理GIT中心,Visual Studio的行为就会不正常。因此,您需要检查此步骤。

清洁溶液。构建解决方案。如果在gulp任务中未配置nuget软件包下载,则可能需要执行此操作。

再次在VS构建成功后重新启动Visual Studio。

使用admin打开任务管理器(taskmgr)。转到“详细信息”选项卡,然后通过右键单击所有msbuild进程并从上下文菜单中选择最终任务来删除它们。

在任务管理器中,如果一切正常,请检查RAM和CPU使用率。如果没有足够的可用内存,或者由于某种原因导致CPU使用率一直很高,请重新启动系统,或者如果未知进程耗尽了内存或CPU,请与管理员联系。

如果您使用的是Visual Studio 2017,则将Microsoft.CodeDom.Providers.DotNetCompilerPlatform更新到最新版本。 另外,如果有相应的单元测试项目,请在这些项目中安装Microsoft.CodeDom.Providers.DotNetCompilerPlatform。

在具有管理员访问权限的cmd中运行以下命令

taskkill /IM iisexpress.exe /F
taskkill /im msbuild.exe /f /t
taskkill /im VBCSCompiler.exe /f /t

然后尝试运行gulp任务。

如果错误仍然存​​在,请签出项目源代码的最新副本。然后,尝试再次按照上述步骤操作。