【发布时间】:2017-12-04 22:16:40
【问题描述】:
我正在使用 Visual Studio 2015 Enterprise,无法编译 VC++ 项目。
如果我使用默认设置创建一个新的 Visual C++ Win32 控制台应用程序并且根本不进行任何更改,则构建项目会导致此错误 13 次:
MSB4018:“CL”任务意外失败。
有谁知道什么会导致这个错误?
完整的错误文本:
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018: The "CL" task failed unexpectedly.
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018: System.TypeInitializationException: The type initializer for 'Microsoft.Build.Utilities.FileTracker' threw an exception. ---> System.IO.FileNotFoundException: The system cannot find the file specified. (Exception from HRESULT: 0x80070002)
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018: at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018: at Microsoft.Build.Shared.NativeMethodsShared.ThrowExceptionForErrorCode(Int32 errorCode)
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018: at Microsoft.Build.Shared.NativeMethodsShared.GetLongFilePath(String path)
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018: at Microsoft.Build.Utilities.FileTracker..cctor()
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018: --- End of inner exception stack trace ---
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018: at Microsoft.Build.CPPTasks.CL.ComputeOutOfDateSources()
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018: at Microsoft.Build.CPPTasks.TrackedVCToolTask.SkipTaskExecution()
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018: at Microsoft.Build.Utilities.ToolTask.Execute()
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018: at Microsoft.Build.CPPTasks.TrackedVCToolTask.Execute()
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018: at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(253,5): error MSB4018: at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext()
我在尝试从 VS 编译的任何 VC++ 项目中都会遇到相同的错误。 (从命令行编译似乎可以工作)
This question about VS 2017 看起来很相似,但似乎从未有人回答过。
我已尝试卸载并重新安装 Visual C++(Visual Studio 2015 功能列表的图像)。
项目创建图片
任何帮助将不胜感激,我对此很迷茫。
【问题讨论】:
-
找不到kernel32.dll。这很糟糕。嗯,你有一个新的门挡,这是好的一面。
-
看起来基本有问题,您是否尝试过卸载并重新安装?如果您尝试过但不适合您,请尝试修改 TEMP 和 TMP 环境变量(用户和系统)并将临时目录重新指向其他位置,并将这两个文件夹的权限设置为完全控制。 stackoverflow.com/questions/3221565/…
-
@Leo-MSFT 非常感谢!将用户 TEMP 和 TMP 环境变量更改为具有完全权限的新目录已修复它。
-
@EricS.,很高兴知道对您有帮助。我已将评论转换为答案,您可以将其标记为答案,这样可以帮助遇到相同问题的其他社区成员。
标签: c++ visual-c++ visual-studio-2015 msbuild