Visual Studio 失去了附加到 Unity 的能力,为啥?

Posted

技术标签:

【中文标题】Visual Studio 失去了附加到 Unity 的能力,为啥?【英文标题】:Visual Studio loses ability to attach to Unity, why?Visual Studio 失去了附加到 Unity 的能力,为什么? 【发布时间】:2019-08-15 15:42:05 【问题描述】:

我正在使用带有 Unity 的 Visual Studio。一般来说,在 VS 中,我只需单击“附加到 Unity”,它就会构建解决方案并确实附加到 Unity。

然而,有时项目会失去这样做的“能力”,这意味着突然单击按钮只会构建解决方案而不会附加到 Unity。

我真的很想知道那里发生了什么,因为我不知道做任何可能导致这种行为的事情。 有一些参数可能会产生影响:

它仅发生在某些 Unity 项目中:项目要么“被感染”,要么永远不会发生(在我看来) 如果它开始发生,它将一直发生,直到我重新启动 PC(关闭 VS 和 Unity 是不够的)

【问题讨论】:

【参考方案1】:

对我(Unity 2020.x 和 VS19)来说,这种情况经常发生。 只需关闭 VS 并在 Unity > Edit > Preferences > External Tools

点击“Regenerate project files”(其他不需要勾选,点击按钮即可)

再次启动VS,它应该可以正常工作了。

【讨论】:

不幸的是,这对我不起作用。使用 Unity 2019.4.x 和 VS 2019。 我注意到我运行的是 VS 2019 版本 16.8.2。更新到 16.8.4 并重新启动 Visual Studio 后,它再次工作。真是一团糟。【参考方案2】:

对我来说,“附加到 Unity”从工具栏中消失了。

但我在Debug -> Attach Unity Debugger中还有一个按钮

希望对某人有所帮助。

Visual Studio 社区 2019 16.7

团结 2020.1.2f1

【讨论】:

对我来说也是一样,但是Attach to Unity 按钮在哪里? 超级有帮助,谢谢。 @Jovan 菜单中的项目就是我所需要的。附加后,只需从 Unity 编辑器中运行您的应用程序,VS 就会执行断点操作。【参考方案3】:

为防止这种情况发生: 当您的代码中出现编译错误时,请不要双击 Unity Debug Log 行,这会在引发错误的行处打开 VS,但会与项目文件混淆。

在 Unity > Preferences > External Tools > Regenerate Project Files 下重新生成项目文件。还要确保在外部工具下设置了 Visual Studio,并通过 Visual Studio 安装程序正确安装了所有 Unity 依赖项。

Visual Studio 将提示您重新加载项目,可选择在 VS 中重新构建您的整个解决方案并重新启动 Unity 和 VS。

【讨论】:

在尝试了许多不同的事情后为我工作。谢谢! 谢谢它为我解决了这个问题! =D 没问题,它可以解决您的项目可能出现的许多问题。【参考方案4】:

从项目文件夹中删除所有与 Visual Studio 相关的文件。 sln, csproj, vs (hidden) 文件夹.. 使用 unity hub 重新打开项目,编辑脚本之一,所有文件将生成,您将再次看到 附加到 Unity 按钮。

【讨论】:

这对我有用!虽然不再有“vs”文件夹。删除 .sln 和 .csproj 文件解决了问题。 @MatheusRocha vs 是隐藏文件夹 无需删除 csproj 文件。只需在 Unity 编辑器中添加一个新组件(脚本),它就会重写项目。 @MustafaEkici 我让资源管理器显示隐藏的文件和文件夹,我没有 vs 文件夹。尽管如此,该解决方案仍然有效。 这对我有帮助。【参考方案5】:

通常只需重新启动 Visual Studio 即可,此问题已在 12 月初左右由 VS 中的 MS 解决和修复。以前每次创建新脚本文件时都会发生这种情况。

确保您已安装最新的 Visual Studio 补丁,以及“Visual Studio Tools for unity”

【讨论】:

不幸的是,即使使用了最新的 VS 补丁和“统一的 Visual Studio 工具”,这种情况仍在不断发生,对我来说重新启动 VS 还不够 这个问题似乎在其他任何地方都消失了,你使用的是哪个版本的 vs 和 unity VS 15.9.17 和 Unity 2019.1.11 这表明你的机器有些奇怪,或者你有某种形式的插件把它弄乱了【参考方案6】:

我遇到了类似的问题,在文件选项卡下是否显示杂项文件?为了修复它,我在解决方案资源管理器中右键单击 Assembly C-Sharp 并重建项目,如图所示。

【讨论】:

重建解决方案或项目无法解决问题【参考方案7】:

我曾经遇到过这个问题,为我解决的问题是将 Visual Studio 重新连接到 Unity Edit > Preferences > External Tools > External Script Editor

还要检查那里列出了正确版本的 Visual Studio。

【讨论】:

【参考方案8】:

适用于 Unity 2020.1.1 及更高版本 在 VisualStudio19 中: 转到“构建”->“重建解决方案”

【讨论】:

请对答案进行更详细的描述。许多人会阅读这个答案很长一段时间。【参考方案9】:

这是使用 Unity 时非常常见的问题。我和我的大学每个月都会经历几次。它通常在重新启动 VS/Unity 或在最坏的情况下重新启动计算机后自动“自我修复”。

现在,我在最新的 VS2019 中又遇到了这个问题。我试过了:

生成新的干净项目 正在重新启动 重新生成所有 Visual Studio 文件 重新安装 VS 2019(干净) 重新安装 Unity(它很干净 - 我只使用一个!编辑器版本) 以上所有建议

是否有任何与网络相关的问题或附加到 Unity 的工作原理?我可以检查一些与此相关的日志文件吗?

上次发生这种情况时,我需要重新安装 Windows。我可能会再次陷入这种情况。

【讨论】:

您使用哪个 Unity 版本? 我已经测试了至少 5 个不同的 Unity 版本,从 2019.3.26 到 2020.3.27。我试图完全卸载该软件(Unity/Unity hub/VS2019)它不适用于 VS2022 的最新测试版。我怀疑是与网络相关的问题,但我已在 wf.msc 中解除了对入站和出站规则的阻止。 我可以检查任何日志文件或将调试器附加到 devenv.exe 吗? 看来我需要重新安装 Windows 才能调试我的应用程序。【参考方案10】:

就我而言(Unity 2020.2,VS Code 1.53.2)附加调试选项在 Unity 上缺失。

重启我的macbook后,

    打开 VS 代码

    开放统一

    在VSCode中->运行->开始调试

    Unity 向我显示警报,如下所示。

我选择为所有项目启用调试选项。

希望对大家有所帮助。

【讨论】:

【参考方案11】:

Unity > 编辑 > 首选项 > 外部工具 > 编辑器附加

【讨论】:

以上是关于Visual Studio 失去了附加到 Unity 的能力,为啥?的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 Visual Studio 2005 附加到创建的进程

Visual Studio 调试 —— 附加到进程

Visual Studio 调试器不会自动附加到本地 Service Fabric 服务

将 Visual Studio 调试器附加到电子应用程序

Visual Studio - 以编程方式将调试器附加到远程进程

Visual Studio 附加到进程调试