当前不会命中断点。尚未在 Unity 中为此文档加载任何符号

The breakpoint will not currently be hit. No symbols have been loaded for this document in Unity

我正在尝试使用 VS2017 在 Unity 中调试协程。

当我将 VS 附加到 Unity 并在 IEnumerator 方法中设置断点时,出现错误 "Breakpoint will not be hit"

这里深入讨论: How do I remedy the "The breakpoint will not currently be hit. No symbols have been loaded for this document." warning?

但是 none 这些答案对我有用。

你知道如何在 VS2017 的 IEnumerator 中设置断点吗?

这是 Unity 中的已知错误。以下是解决此问题的方法:

1。转到 文件 --> 构建设置... 然后 select你的平台。

2。单击 播放器设置 --> 其他设置 并更改 API .NET 2.0 的兼容级别。

如果已设置为 .NET 2.0,请将其更改为 .NET 2.0 Subset,然后返回 .NET 2.0.

3。关闭并重新打开 Visual Studio。从 Visual Studio,转到 Build --> Clean Solution 然后 Build --> 重建解决方案

再次尝试调试,应该可以了。


如果上述步骤不起作用,请转到项目的库文件夹,然后将其删除。重新启动 Unity 和 Visual Studio.

我遇到了同样的问题。以下步骤解决了我的问题。

  1. 导航至 构建->配置管理器

  2. 检查项目配置。如果设置为production,将此值改为debug.

我找到了解决方案(解决方法)。 您需要将属性 [InitializeOnLoad] 添加到 class.

我花了足够的时间找到了解决方案。转到 Build-> Configuration Manager 并将 Active Solution Configuration 更改为 Debug。

在我的例子中,当这个脚本没有附加到场景中的任何东西时,就会发生这种情况,因此,断点永远不会被击中……工作人员出乎意料的事情在 C++ 中。不过,这是一个很好的副作用。

在我的例子中,这是因为我使用的是 "Attach to process" 而不是 "Attach to Unity ..."。后者不可用,因为 VS 的 Unity 插件安装失败。

所以,我也有这些 unity不知道你用的是哪个脚本工具..

  1. 在 Unity 中,执行编辑 -> 首选项。

  2. 在打开的首选项 window 中,选择“外部工具”选项卡。

  3. 单击“外部脚本编辑器”下拉菜单。

  4. 点击浏览。

  5. Select Visual Studio 2017 如果尚未选择

祝你好运 (;

(: