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

Command line MSBuild:命令行生成错误:解决方案文件错误MSB5023:分析嵌套项目节时出错,command-line,msbuild,Command Line,Msbuild,我有一个解决方案,它使用解决方案文件夹来拆分项目。 在VisualStudioIDE中,解决方案构建良好 但是,在从命令行使用MSBuild运行生成时,出现以下错误:- 解决方案文件错误MSB5023:分析嵌套项目节时出错 在解决方案文件中。正在创建GUID为“{Some project GUID}”的项目 列为嵌套在项目“{Some Solution Folder project”下 GUID}”,但解决方案中不存在 现在我检查了这两个guid,它们存在,一个作为项目,另一个作为项目嵌套的解决

我有一个解决方案,它使用解决方案文件夹来拆分项目。 在VisualStudioIDE中,解决方案构建良好

但是,在从命令行使用MSBuild运行生成时,出现以下错误:-

解决方案文件错误MSB5023:分析嵌套项目节时出错 在解决方案文件中。正在创建GUID为“{Some project GUID}”的项目 列为嵌套在项目“{Some Solution Folder project”下 GUID}”,但解决方案中不存在

现在我检查了这两个guid,它们存在,一个作为项目,另一个作为项目嵌套的解决方案文件夹。 应该没什么问题


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

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

  • 在记事本中打开.sln并找到GUID
  • 我的一个项目没有结束(“EndProject”被错过)

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

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

    也可能存在以下问题:删除项目时,该行可能在此处出现合并冲突,但未被删除。如果在全局搜索GUID的项目中找不到任何其他引用,请尝试删除
    .sln
    文件中的行并重新生成。

    由于合并冲突,我的解决方案文件试图将两个项目粘贴到不再存在的解决方案文件夹中。底部的NestedProjects部分提到了一个从顶部的项目枚举中删除的Guid。

    可能已经给出了答案,但我会分步骤提到,以使其更容易实现

    修复的步骤:

  • 将新的虚拟项目添加到解决方案中
  • 使用“全部保存”按钮更新解决方案
  • 删除先前添加的虚拟项目&build。而且已经修好了
  • 此外,如果使用源代码管理,请将更新的.sln文件与旧文件进行比较,以了解缺少的更改

  • 可能是合并冲突问题更改了.sln文件,请在您喜爱的文本编辑器中打开并检查是否存在任何冲突标记,以确认情况并非如此。

    我创建了一个空白解决方案并添加了我的csproj。
    在此之后,我在Azure DevOps中的YAML可以构建应用程序

    我添加了一个解决方案项并保存了该解决方案。我不确定如果您将文件添加到项目中,是否会发生同样的情况。我这样做时,它创建了一个“解决方案项”文件夹(我后来将其删除)。这个过程纠正了错误,结果是缺少了“EndProject”行。这对我也有帮助。问题不在于缺少的
    EndProject
    tho,而是有一个应该从中删除的剩余guid。这是我的解决方案。git冲突后,我有一个格式错误的sln文件,缺少
    EndProject
    lineNote dupe,但对该问题有非常类似的修复: