我在虚拟机上安装msbuild
时遇到了问题。
我使用的是:
- Visual Studio 2022社区版
- .Net Framework v4.8.1
- msbuild版本
MSBuild version 17.5.0+6f08c67f3 for .NET Framework - 17.5.0.10706
- Windows 10
如果我创建一个新的 "Hello World" C# 项目(.Net Framework v4.8.1),则无法构建。
错误内容为:
=====================
16-03-2023 18:59:11
Recoverable
Microsoft.Build.Framework.InternalErrorException: MSB0001: Internal MSBuild Error: Cannot acquire required number of nodes.
=============
System.AggregateException: One or more errors occurred. ---> Microsoft.Build.BackEnd.NodeFailedToLaunchException: Den angivne fil blev ikke fundet
at Microsoft.Build.BackEnd.NodeLauncher.StartInternal(String msbuildLocation, String commandLineArgs)
at Microsoft.Build.BackEnd.NodeLauncher.DisableMSBuildServer(Func`1 func)
at Microsoft.Build.BackEnd.NodeProviderOutOfProcBase.<>c__DisplayClass14_0.<GetNodes>g__StartNewNode|2(Int32 nodeId)
at Microsoft.Build.BackEnd.NodeProviderOutOfProcBase.<>c__DisplayClass14_0.<GetNodes>b__0(Int32 nodeId)
--- End of inner exception stack trace ---
---> (Inner Exception #0) Microsoft.Build.BackEnd.NodeFailedToLaunchException: Den angivne fil blev ikke fundet
at Microsoft.Build.BackEnd.NodeLauncher.StartInternal(String msbuildLocation, String commandLineArgs)
at Microsoft.Build.BackEnd.NodeLauncher.DisableMSBuildServer(Func`1 func)
at Microsoft.Build.BackEnd.NodeProviderOutOfProcBase.<>c__DisplayClass14_0.<GetNodes>g__StartNewNode|2(Int32 nodeId)
at Microsoft.Build.BackEnd.NodeProviderOutOfProcBase.<>c__DisplayClass14_0.<GetNodes>b__0(Int32 nodeId)<---
---> System.AggregateException: One or more errors occurred. ---> Microsoft.Build.BackEnd.NodeFailedToLaunchException: Den angivne fil blev ikke fundet
at Microsoft.Build.BackEnd.NodeLauncher.StartInternal(String msbuildLocation, String commandLineArgs)
at Microsoft.Build.BackEnd.NodeLauncher.DisableMSBuildServer(Func`1 func)
at Microsoft.Build.BackEnd.NodeProviderOutOfProcBase.<>c__DisplayClass14_0.<GetNodes>g__StartNewNode|2(Int32 nodeId)
at Microsoft.Build.BackEnd.NodeProviderOutOfProcBase.<>c__DisplayClass14_0.<GetNodes>b__0(Int32 nodeId)
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
at Microsoft.Build.Shared.ErrorUtilities.ThrowInternalError(String message, Exception innerException, Object[] args)
at Microsoft.Build.BackEnd.NodeProviderOutOfProcBase.GetNodes(String msbuildLocation, String commandLineArgs, Int32 nextNodeId, INodePacketFactory factory, Handshake hostHandshake, NodeContextCreatedDelegate createNode, NodeContextTerminateDelegate terminateNode, Int32 numberOfNodesToCreate)
at Microsoft.Build.BackEnd.NodeProviderOutOfProc.CreateNodes(Int32 nextNodeId, INodePacketFactory factory, Func`2 configurationFactory, Int32 numberOfNodesToCreate)
at Microsoft.Build.BackEnd.NodeManager.AttemptCreateNode(INodeProvider nodeProvider, NodeConfiguration nodeConfiguration, Int32 numberOfNodesToCreate)
at Microsoft.Build.BackEnd.NodeManager.CreateNodes(NodeConfiguration configuration, NodeAffinity nodeAffinity, Int32 numberOfNodesToCreate)
at Microsoft.Build.Execution.BuildManager.PerformSchedulingActions(IEnumerable`1 responses)
at Microsoft.Build.Execution.BuildManager.<>c__DisplayClass95_0.<IssueBuildRequestForBuildSubmission>g__IssueBuildSubmissionToSchedulerImpl|1(BuildSubmission submission, Boolean allowMainThreadBuild)
at Microsoft.Build.Execution.BuildManager.<>c__DisplayClass95_0.<IssueBuildRequestForBuildSubmission>b__0()
at Microsoft.Build.Execution.BuildManager.ProcessWorkQueue(Action action)
如果我尝试从Visual Studio的“开发人员 PowerShell”中运行
msbuild
,则会出现以下错误:> msbuild .\ConsoleApp2.csproj
MSBuild version 17.5.0+6f08c67f3 for .NET Framework
MSBUILD : error MSB1008: Only one project can be specified.
Full command line: '"C:\PROGRA~1\MIB055~1\2022\COMMUN~1\MSBuild\Current\Bin\amd64\MSBuild.exe" "C:\Program Files\Microsoft Visual Studio\2022\Community\\MSBuild\Current\Bin\amd64\MSBuild.exe" .\ConsoleApp2.csproj'
Switches appended by response files:
'' came from 'C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\MSBuild.rsp'
Switch: .\ConsoleApp2.csproj
For switch syntax, type "MSBuild -help"
这看起来相当奇怪,它似乎试图运行该命令。 它将自身作为参数插入了自己。
"C:\PROGRA~1\MIB055~1\2022\COMMUN~1\MSBuild\Current\Bin\amd64\MSBuild.exe" "C:\Program Files\Microsoft Visual Studio\2022\Community\\MSBuild\Current\Bin\amd64\MSBuild.exe" .\ConsoleApp2.csproj
如果我尝试直接运行msbuild
,似乎msbuild
正在尝试构建 msbuild.exe
,并且明显失败了。
> msbuild
MSBuild version 17.5.0+6f08c67f3 for .NET Framework
Build started 16-03-2023 19:29:57.
Included response file: C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\MSBuild.rsp
Project "C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\MSBuild.exe" on node 1 (default targets).
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\MSBuild.exe(1,1): error MSB4025: The project file could not be loaded. Dataene på rodniveau er ugyldige. linje 1, position 1.
Done Building Project "C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\MSBuild.exe" (default targets) -- FAILED.
Build FAILED.
"C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\MSBuild.exe" (default target) (1) ->
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\MSBuild.exe(1,1): error MSB4025: The project file could not be loaded. Dataene på rodniveau er ugyldige. linje 1, position 1.
0 Warning(s)
1 Error(s)
Time Elapsed 00:00:00.04
我不知道这个额外的msbuild
是从哪里来的。
我已经尝试过:
- 重新安装Visual Studio 2022
- 检查环境变量-所有看起来都很正常
- 检查文件
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\amd64\MSBuild.rsp
-它只包含默认注释
如何修复msbuild
,使其能够再次构建项目?