【问题标题】:Visual Studio hangs when adding forms or opening designer添加表单或打开设计器时 Visual Studio 挂起
【发布时间】:2020-05-19 17:34:41
【问题描述】:

我在使用包含大量项目的 Winforms 应用程序时遇到了一个主要问题。 VS 2019 抛出异常并在几天前关闭,然后重新打开恢复了两个文件,此后我一直无法:

  1. 为绝大多数项目添加新表单,无论是否是最基本的 MS 模板
  2. 为绝大多数项目中已经存在的任何形式打开设计器
  3. 访问绝大多数项目中引用 WinForms 的任何类的导航栏(VS 工作区顶部的三个组合框,通常包含项目、命名空间和内容信息)

当尝试执行前两件事中的任何一项时,会无休止地显示“正在打开文件”消息。如果您尝试执行任何操作,则会显示 Visual Studio 正忙的通知,并且会通知 Microsoft,但不会发生其他任何事情,您只能通过使用任务管理器杀死所有 VS 任务来退出。

在第三个的情况下,会显示一条消息,说“正在刷新导航栏”,但它又会永远持续下去。但是,在这种情况下,您可以单击“取消”按钮来取消加载尝试。

我认为导航栏问题与 Resharper 相关。另外CodeLens根本不工作,所以生成了引用数的空间但是没有内容。这适用于解决方案中的所有文件,而不仅仅是与表单相关的文件。

这是我迄今为止尝试过的:

  • 清理并重建解决方案 - 工作正常,但没有区别
  • 构建并部署了解决方案 - 运行良好
  • 删除SUO文件并重置
  • 清除了 Resharper 缓存
  • 已禁用 Resharper
  • 执行了 Visual Studio 的修复安装
  • 创建了一个新的解决方案并添加了表单等,但未受影响且工作正常
  • 打开了另一个也可以正常工作的解决方案
  • 在不属于应用程序 (TestBed) 的同一解决方案中尝试了与项目相同的流程,该解决方案也可以正常工作,但它是唯一可以这样做的项目

谁能建议现在去哪里看?由于新的和现有的解决方案除了这个之外都可以正常工作,我假设它是与解决方案相关的东西,而不是与 VS 本身相关的东西,但我不知道那可能是什么。例如,当它说“打开文件”时它试图做什么(除了显而易见的 - 打开一个文件:-))以及什么可能导致它失败?我是在寻找解决方案文件中的内容,还是其他内容?

对于解决此问题的所有建议和帮助,我们将不胜感激。

【问题讨论】:

  • 三个介绍性要点中的“绝大多数”是什么意思?您是说同一解决方案中的某些项目存在项目符号中引用的问题,而其他项目则没有?另外,当 IDE 自行关闭后重新打开时,VS 2019 恢复了哪些文件?
  • 如问题所述,我至少有一个名为 TestBed 的项目,它是解决方案的一部分,但不是应用程序的一部分。这是一个成熟的应用程序,仅在主应用程序中有 139 个项目和几百万个 LOC,所以我没有检查每个项目中的每个文件,但我已经测试了足够多的内容,知道绝大多数都有问题。
  • 不客气。只是让您知道,当您编写“大量项目”时,我预计可能是 15 个而不是 139 个。您对大的定义和我的显然不同。现在更清楚你为什么要使用“绝大多数”这个词了。尽早获得确切的数字只是为了了解实际而不是感知的大小会很好。无论如何,你回答中的第 6 步是最让我感兴趣的。让我们希望检查输出和错误(总是一个好主意)是对其他人最有用的步骤,如果他们遇到类似的事情。
  • 嗨@Jazimov,正如我在回答中所说的那样,步骤6中提到的任何错误都不可能相关。当我在这里等待建议时,我继续开发而不是坐下来等待回复:-) 正如我在问题中所说,我已经构建和部署了所以当时没有错误,但我包括了完整说明问题的步骤是无关的。删除和安装不同版本的 VS 是我绝望的决定尝试的,因为我仍然有必要的许可证可用,坦率地说,当它起作用时我感到非常惊讶!

标签: winforms visual-studio-2019 designer


【解决方案1】:

感谢 Jasimov 的唯一回复,感谢您的帮助。

我现在已经使用以下步骤解决了这个问题:

  1. 卸载 Visual Studio 2019 社区版
  2. 重新安装 Visual Studio 2019 Professional
  3. 重新加载主解决方案
  4. 清洁溶液
  5. 重建解决方案
  6. 处理输出和错误中突出显示的一些问题,这些问题都与表单无关
  7. 重建解决方案
  8. 运行应用程序并确保它按预期运行
  9. 返回并随机选择表单并尝试打开它们。现在一切都按预期工作了。

此外,CodeLens 现在不仅工作正常,而且实际上比以前更快地提供更多信息。另一方面,我还没有重新安装 Resharper,这将是下一步。

我已经包含了我采取的所有步骤,以防其他人遇到类似问题。我无法在搜索的其他任何地方找到这个确切的问题,所以我希望它对某人有所帮助。

更新:我已经重新安装了 Resharper,没有任何问题,设计人员都工作正常,所以现在回到全流程!

【讨论】:

    【解决方案2】:

    我在 VS2019 中的 web 表单设计器中遇到了类似的问题,当我单击设计表面上的任何内容时,它就会挂起。同样的项目在 VS2017 中是可以的。卸载VS2019,重启,重新安装VS2019,发现设计器现在工作正常。逐步添加回第 3 方工具箱组件、一个 VSIX 和 .Net 4.8 目​​标包。还在工作。感谢您对重新安装的提示。

    【讨论】:

    • 你有礼貌地说谢谢吗?或者您会说您发布了一个新的单独答案,提供了额外的见解?
    • 最初的意图主要是表示感谢,尽管我不能 100% 确定我们正在解决同样的问题。不幸的是,我没有发现与 winforms 而不是 webforms 相关的原始帖子。所以这不是同一个问题,只是相同的补救措施。
    • 请不要添加 "thanks" 作为答案。它们实际上并没有提供问题的答案,并且可能被未来的访问者视为噪音。一旦你earn足够reputation,你将获得upvote answers你喜欢的特权。这样,问题的未来访问者将看到对该答案的更高投票数,并且回答者也将获得声誉积分奖励。见Why is voting important
    猜你喜欢
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-05
    • 2013-12-05
    • 1970-01-01
    相关资源
    最近更新 更多