MSBuild:命令行生成错误:解决方案文件错误MSB5023:解析嵌套项目部分时出错

Sea*_*sby 17 msbuild command-line

我有一个使用解决方案文件夹来拆分项目的解决方案.在Visual Studio IDE中,解决方案构建正常.

但是,当从命令行使用MSBuild运行构建时,我收到以下错误: -

Solution file error MSB5023: Error parsing the nested project section in solution file. A project with the GUID "{Some Project GUID}" is listed as being nested under project "{Some Solution Folder Project GUID}", but does not exist in the solution.
Run Code Online (Sandbox Code Playgroud)

现在我检查了这两个GUID,它们存在,一个作为项目,另一个作为项目嵌套的解决方案文件夹.应该没有任何问题.

有没有人有办法解决这个问题?

Den*_*eev 46

我遇到了同样的问题,并设法解决:

  1. 在NotePad中打开.sln并找到Guids
  2. 我的一个项目没有关闭(错过了"EndProject")

干杯,希望这可以帮助任何人

  • 这是我的解决方案。在 git 冲突之后,我有一个格式错误的 sln 文件,缺少“EndProject”行 (4认同)

小智 11

或者您可以将新文件添加到解决方案并保存.这应该重建解决方案.确认构建工作正常后,可以安全地删除并保存文件.

  • 当我这样做时,它创建了一个“解决方案项目”文件夹(后来我将其删除)。此过程纠正了错误,结果发现该错误是缺少“EndProject”行。 (2认同)

小智 6

它可能已经得到回答,但我会逐步提及以使其更容易做到。

修复步骤:

  1. 将新的虚拟项目添加到解决方案中
  2. 使用“全部保存”按钮更新解决方案
  3. 删除之前添加的虚拟项目并构建。并且是固定的
  4. 此外,如果您使用源代码管理,请将更新后的 .sln 文件与旧文件进行比较,以了解缺少的更改。