Visual Studio调试器无法附加到Unity

11

我在使用Visual Studio的调试器连接Unity时遇到了问题 - 在VS中编辑和编译脚本正常工作,但是当点击“连接到Unity”或“连接到Unity并播放”时,代码会被编译但没有其他反应。如果所有的构建都是最新的,那么按钮根本不起作用。我可以手动启动Unity内部的游戏,并运行最新的代码,但它无法与VS调试器连接。

我在我的电脑上安装了Unity 5.3.5,Visual Studio Tools for Unity 2.2.0.0和Visual Studio Community 2015。所有的Unity工具都出现在了Visual Studio中(如Attach To Unity等)。

在VS中打开工具 > 连接到Unity调试器会显示一个正确的Unity编辑器实例列表,但选择其中一个不会连接到它。如此处所建议的,我尝试使用127.0.0.1作为IP端点,但仍然无法工作。我已经允许了Unity和VS通过防火墙设置,但没有效果。

Unity的帮助 > 关于也显示了Visual Studio Tools For Unity的版本号,因此它知道插件的存在。

我通过devenv.exe /log加载了VS,以查看是否有任何奇怪的事情发生 - 日志看起来很正常,并且Unity工具也已经正确加载。(如果有用的话,日志在这里。)

我已经对VS、Unity和VS Tools for Unity进行了修复重新安装,但没有改变任何东西。

我试图让它工作,但是却让自己快疯了 - 按下“连接到Unity”却什么都不发生,甚至没有错误信息。我感觉自己一定漏掉了什么东西 - 有任何想法/建议/解决方案将不胜感激。


我也遇到了相同的问题。 - Dean Lunz
4个回答

11
这个问题也困扰了我很久。在检查近期安装的所有内容并进行卸载和重新安装后,我发现最新版本的Xamarin破坏了VSTU的集成。即使我回退到了VSTU 2.1,问题仍然存在。
只有卸载Xamarin才能让调试器连接到Unity。
因此,如果我们想让VS调试器连接到Unity,目前我们必须在同一台机器上使用Xamarin或VSTU其中之一,而不能同时使用两者。

1
啊,对了,这个起作用了!谢谢!我甚至不记得曾经安装过它,我猜它是与 Unity 捆绑在一起的吧?对于我来说,卸载它并不是什么大问题,但对于依赖它的人来说肯定很烦人。我已向 Unity 提交了一个 bug,希望能尽快得到解决。 - John
1
微软收购了Xamarin,现在它已经包含在Visual Studio中。这是一个非常棒的跨平台应用程序开发工具。不幸的是,我需要两者来完成不同的项目。 - Ron Peters
我本来还指望着卸载Xamarin后问题能解决,但是我发现我好像没有安装Xamarin(我是通过Unity安装程序安装的Unity和VS Community 2017)。在控制面板下的“程序与功能”和VS中的“扩展与更新”里都没有提到Xamarin。哎呀! - clamum

6

这确实是VSTU和XamarinVS之间的兼容性问题。我们与Xamarin合作,并在我们的主要版本中已经修复了此问题。

我们将很快发布一个包含修复和其他功能的新VSTU版本。

敬礼 Sebastien Lebreton [MSFT]


1
你好Sebastien,新的VSTU什么时候发布?没有VSTU非常不方便。谢谢。 - frank
现在有这个吗?我同时使用Xamarin和Unity,没有两台独立的机器的奢侈条件。 - Teoman shipahi

2
我遇到了同样的问题,但工具没有打印任何Unity进程... 卸载Xamarin也没有帮助,事实上我根本无法通过该工具附加Unity(附加进程确实有效,但无法到达代码中的断点)。
事实上,是因为我将"Unity.exe"重命名为"Unity 5.3.4f1.exe"。
Visual Studio Tools for Unity需要附加到Unity进程,现在不能处理其他名称。

0
两天都浪费在重新安装所有东西上了.... (PS:最新的Xamarin“稳定”更新破坏了通过USB在iPhone上进行iOS调试,只是告诉你一声....)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接