我正在尝试使用VS2017在Unity中调试协程。
当我将VS附加到Unity并在IEnumerator
方法中设置断点时,我收到错误“断点不会被击中”
然而,这些答案都不适合我。
您知道如何在VS2017中的IEnumerator中设置断点吗?
答案 0 :(得分:7)
这是Unity中的已知错误。以下是解决此问题的方法:
1 。转到文件 - > 构建设置... 然后选择您的平台。
2 。点击播放器设置 - > 其他设置并将API兼容级别更改为.NET 2.0。
如果已将其设置为 .NET 2.0 ,请将其更改为 .NET 2.0 Subset ,然后再将其更改为 .NET 2.0 。
3 。关闭并重新打开Visual Studio。从Visual Studio,转到 Build - > 清洁解决方案然后构建 - > 重建解决方案。
再次尝试调试,它应该可以正常工作。
如果上述步骤不起作用,请转到Project的“文件夹”文件夹,然后将其删除。重新启动Unity和Visual Studio。
答案 1 :(得分:1)
在我的情况下,这是因为我使用的是“附加到进程”而不是“附加到Unity ...”。后者不可用,因为VS的Unity插件无法安装。
答案 2 :(得分:0)
我有同样的问题。以下步骤解决了我的问题。
导航至 build->配置管理器 。
检查项目配置。如果设置为 生产 ,请将此值更改为 debug 。
答案 3 :(得分:0)
我找到了解决方案(解决方法)。 您需要将属性[InitializeOnLoad]添加到类中。
答案 4 :(得分:0)
我花了足够的时间找到解决方案。转到Build-> Configuration Manager并将Active Solution Configuration更改为Debug。
答案 5 :(得分:0)
在我的情况下,这发生在该脚本未附加到场景中的任何地方的情况下,因此,断点将永远不会被击中……使用C ++的人无法预料的事情。不过,这是一个很好的副作用。
答案 6 :(得分:0)
所以,我也有这些 统一不知道您正在使用哪个脚本工具。
在Unity中,执行“编辑”->“首选项”。
在打开的“首选项”窗口中,选择“外部工具”选项卡。
单击“外部脚本编辑器”下拉菜单。
单击浏览。
如果尚未选择Visual Studio 2017,请选择
GoodLuck(;
(: