【发布时间】:2018-03-25 01:03:50
【问题描述】:
我正在尝试使用 VS2017 在 Unity 中调试协程。
当我将 VS 附加到 Unity 并在 IEnumerator 方法中设置断点时,我收到错误“断点不会被命中”
但是这些答案都不适合我。
你知道如何在 VS2017 的 IEnumerator 中设置断点吗?
【问题讨论】:
标签: c# debugging unity3d breakpoints coroutine
我正在尝试使用 VS2017 在 Unity 中调试协程。
当我将 VS 附加到 Unity 并在 IEnumerator 方法中设置断点时,我收到错误“断点不会被命中”
但是这些答案都不适合我。
你知道如何在 VS2017 的 IEnumerator 中设置断点吗?
【问题讨论】:
标签: c# debugging unity3d breakpoints coroutine
所以,我也有这些 unity不知道你用的是哪个脚本工具..
在 Unity 中,执行编辑 -> 首选项。
在打开的首选项窗口中,选择外部工具选项卡。
单击外部脚本编辑器下拉菜单。
点击浏览。
如果尚未选择,请选择 Visual Studio 2017
祝你好运(;
(:
【讨论】:
就我而言,这是因为我使用的是“附加到进程”而不是“附加到 Unity ...”。后者不可用,因为 VS 的 Unity 插件无法安装。
【讨论】:
在我的例子中,这发生在 这个脚本没有附加到场景中的任何东西上,因此,断点永远不会被击中......这对于使用 C++ 工作的人来说是出乎意料的。不过,这是一个很好的副作用。
【讨论】:
我花了足够的时间找到了解决方案。转到 Build-> Configuration Manager 并将 Active Solution Configuration 更改为 Debug。
【讨论】:
我找到了解决方案(解决方法)。 您需要在类中添加属性 [InitializeOnLoad]。
【讨论】:
我有同样的问题。以下步骤解决了我的问题。
导航到构建->配置管理器。
检查项目配置。如果设置为 production,则将此值更改为 debug。
【讨论】:
这是 Unity 中的已知错误。以下是解决此问题的方法:
1。转到文件 --> 构建设置... 然后选择您的平台。
2。点击播放器设置 --> 其他设置并将API兼容级别更改为.NET 2.0。
如果已设置为 .NET 2.0,请将其更改为 .NET 2.0 子集,然后再改回 .NET 2.0。 p>
3.关闭并重新打开 Visual Studio。在 Visual Studio 中,转到 Build --> Clean Solution 然后 Build --> Rebuild Solution。 p>
再次尝试调试,它应该可以工作。
如果上述步骤不起作用,请转到您项目的库文件夹,然后删除它。重新启动 Unity 和 Visual Studio。
【讨论】:
.NET 4.x 怎么样?这是问题的根源,还是您的意思是更改为.NET 2.0或更高版本?