【问题标题】:The project system has encountered an error When trying to load project项目系统在尝试加载项目时遇到错误
【发布时间】:2018-11-10 11:52:40
【问题描述】:

在 Visual Studio 2017 v15.7.1 中,尝试加载我的一个项目时出现以下错误窗口:

当我转到指定的路径时,在测试文件中我发现了一个很长的堆栈跟踪,我无法将其全部复制,因为它超出了允许的字符数。

===================== 5/31/2018 3:40:57 PM LimitedFunctionality System.AggregateException:项目系统数据流 “ProjectBuildSnapshotService Outer 320459”因 异常:System.AggregateException:发生一个或多个错误。 ---> System.AggregateException:发生一个或多个错误。 ---> System.AggregateException:发生一个或多个错误。 ---> System.AggregateException:发生一个或多个错误。 ---> System.NullReferenceException:对象引用未设置为实例 的一个对象。在 Microsoft.VisualStudio.ProjectServices.DesignTimeBuilder.d__17.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 Microsoft.VisualStudio.ProjectSystem.Build.DesignTimeBuilderService.BuilderLifetimeHelper.d__12.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 Microsoft.VisualStudio.ProjectSystem.Build.DesignTimeBuilderService.d__36.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 Microsoft.VisualStudio.ProjectSystem.Build.DesignTimeBuilderService.d__36.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(任务任务)
在 Microsoft.VisualStudio.ProjectSystem.Build.DesignTimeBuildManagerService.d__55.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(任务任务)
在 Microsoft.VisualStudio.ProjectSystem.Build.DesignTimeBuildManagerService.d__53.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 Microsoft.VisualStudio.ProjectSystem.Designers.ProjectBuildSnapshotService.d__74.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(任务任务)
在 Microsoft.VisualStudio.ProjectSystem.Designers.ProjectBuildSnapshotService.c__DisplayClass72_0.d.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 Microsoft.VisualStudio.Threading.JoinableTask.d__78.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 Microsoft.VisualStudio.Threading.JoinableTask1.<JoinAsync>d__3.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.VisualStudio.ProjectSystem.Designers.ProjectBuildSnapshotService.<UpdateSnapshotCoreAsync>d__72.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at Microsoft.VisualStudio.ProjectSystem.Designers.CustomizableBlockSubscriberBase
3.d__34.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 Microsoft.VisualStudio.ProjectSystem.Designers.CustomizableBlockSubscriberBase3.<>c__DisplayClass32_0.<<Initialize>b__1>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.VisualStudio.Threading.JoinableTask.<JoinAsync>d__78.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.VisualStudio.ProjectSystem.Designers.CustomizableBlockSubscriberBase3.d.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 Microsoft.VisualStudio.ProjectSystem.DataflowExtensions.c__DisplayClass24_0`2.d.MoveNext()

【问题讨论】:

  • 您是否移动了项目。示例 我在 VS Community 2015 中制作并更改为 VS Community 2017 的所有应用程序都出现此错误。我认为这与框架和位置有关。从我看到的堆栈跟踪文件中查看应用程序的某些部分已被移动。可能是 VS 错误。
  • 我刚刚检查了我在 VS Enterprise 中制作的应用程序并在 VS Community 2017 中打开它们,同样的事情发生在我身上。

标签: c# visual-studio visual-studio-2017


【解决方案1】:

我发现您需要执行两个步骤来解决此问题:

  1. 在解决方案级别删除.vs 文件夹。
  2. 删除解决方案内所有项目中的binobj 文件夹。

我在 Visual Studio 2017 v15.7.4 中遇到了该问题,并且受影响的项目/解决方案是在 v15.7.4 中创建的,因此无需升级到新版本的 Visual Studio 即可发生。

【讨论】:

  • 删除 .vs 文件夹为我解决了这个问题。无需删除binobj 文件夹。
  • 这里也一样。删除 .vs 文件夹为我解决了这个问题。
  • 仅删除 .vs 文件夹没有帮助。我还必须删除 binobj 文件夹。 Visual Studio 2017 版本 15.7.1 - 我在 F# 项目上看到这个问题,在 C# 上从来没有。
【解决方案2】:

尝试删除该解决方案的所有项目中的 bin 和 obj 文件夹。

可能这些文件夹有一些旧版本的 Visual Studio 生成的旧文件,这些文件与新版本的 Visual Studio 不兼容。

【讨论】:

  • 删除 bin 文件夹解决了我使用 Visual Studio 恢复到旧提交时发生的问题
【解决方案3】:

我想共享一个 shell 脚本,它可以递归地从当前目录中删除 binobj 目录

通过git bashwsl 导航到解决方案的根目录

运行

find . -type d \( -name bin -o -name obj \) -exec rm -r "{}" \;

享受吧!

【讨论】:

    猜你喜欢
    • 2019-04-22
    • 2020-05-16
    • 2018-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多