我正在尝试使用VS2017在Unity中调试协程。
当我将VS连接到Unity并在IEnumerator
方法中设置断点时,我收到错误“断点不会被击中”
然而,这些答案都不适合我。
你知道如何在VS2017中的IEnumerator中设置断点吗?
这是Unity中的已知错误。以下是解决此问题的方法:
1.转到文件 - >构建设置...然后选择您的平台。
2.单击播放器设置 - >其他设置,然后将API兼容级别更改为.NET 2.0。
如果已将其设置为.NET 2.0,请将其更改为.NET 2.0 Subset,然后再将其更改为.NET 2.0。
3.关闭并重新打开Visual Studio。从Visual Studio,转到Build - > Clean Solution,然后构建 - > Rebuild Solution。
再次尝试调试它应该工作。
如果上述步骤不起作用,请转到Project的Library文件夹,然后将其删除。重新启动Unity和Visual Studio。
在我的情况下,这是因为我使用“附加到进程”而不是“附加到Unity ...”。后者不可用,因为VS的Unity插件无法安装。
我遇到过同样的问题。以下步骤解决了我。
我花了足够的时间找到解决方案。转到Build-> Configuration Manager并将Active Solution Configuration更改为Debug。
在我的情况下,当这个脚本没有附加到场景中的任何东西时发生这种情况,因此,断点永远不会被击中...某些使用C ++工作的人意想不到的东西。不过,这是一个很好的副作用。
我找到了解决方案(解决方法)。您需要将属性[InitializeOnLoad]添加到类中。