我对在虚拟机上安装msbuild有问题.

我正在使用:

  • Visual Studio 2022社区版
  • .NET框架v4.8.1
  • MSBuild版本MSBuild version 17.5.0+6f08c67f3 for .NET Framework - 17.5.0.10706
  • Windows 10

如果我创建一个全新的"Hello World"C#项目(.Net Frameworkv4.8.1),那么它将不会构建.

Visual Studio shows an error at the top: enter image description here

错误是:

=====================
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)

如果我try 在Visual Studio中从Developer 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个项目,以便它可以再次建设项目?

推荐答案

在该特定位置可能存在针对该特定文件名的特定规则.

您应该能够通过打开注册表编辑器并更改MSBuild.exe的值来修复此问题.

转到Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options找到MSBuild.exe的条目并将其删除.

来源:https://answers.microsoft.com/en-us/windows/forum/all/windows-cannot-find-make-sure-you-typed-the-name/6c60a27d-115f-474b-aaf7-2ac3d8367f26?page=1

.net相关问答推荐

ZstdNet库的问题:Src大小不正确,异常

为什么Regex.Escape支持数字符号和空格?

无法对.NET MAUI类库进行单元测试

有没有更好的方法使用 Pusher Channels 的批事件发布消息?

.NET Async / Await:状态机如何知道何时继续执行?

C#字符串的GetHashCode()是如何实现的?

图像 UriSource 和数据绑定

为什么这两个比较有不同的结果?

Environment.TickCount 与 DateTime.Now

抛出 ArgumentNullException

HttpClient 和使用代理 - 不断得到 407

Select 文件夹对话框 WPF

什么是编组?当某些东西被编组时会发生什么?

在 C# 中转义命令行参数

返回 IList 是否比返回 T[] 或 List 更糟糕?

System.Speech.Recognition 和 Microsoft.Speech.Recognition 有什么区别?

迭代器和枚举器的区别

合并两个(或更多)PDF

MailMessage,Sender 和 From 属性的区别

/langversion 的错误选项6无效;必须是 ISO-1、ISO-2、3、4、5 或默认值