统一错误 "Visual Studio Tools: failed to convert debug symbols, no pdb2mdb"

Unity Error "Visual Studio Tools: failed to convert debug symbols, no pdb2mdb"

TL;博士

为什么 Unity 在使用 Visual Studio Tools for Unity (VSTU) 时会认为没有 pdb2mdb?

背景

我从 Visual Studio 将我的 Unity 脚本导入为 managed plugins (DLLS)。也就是说,当我在 VS 中构建我的代码时,我将生成的 .dll 和 .pdb 文件导出到 Unity,并且 Visual Studio Tools for Unity (VSTU) 扩展处理将 .pdb 转换为 .mdb,以便我可以调试.然而最近,当我在 VS 中构建我的 DLL 并将它们导出到 Unity 时,Unity 控制台显示以下错误:

Visual Studio Tools: failed to convert debug symbols, no pdb2mdb

pdb2mdb 是 VSTU 中将 .pdb 转换为 .mdb 的程序,我不知道为什么它突然丢失了。我已经尝试 cleaning/rebuilding 我的 VS 解决方案,重新启动 VS 和 Unity,并修复我的 VS 安装,但都没有成功。更奇怪的是,这种行为发生在 两台不同的计算机 上(尽管所有相关软件版本都相同),这让我感到紧张,因为这个问题在某种程度上是我的项目特有的。到目前为止,我能找到的所有信息都是几年前的,没有帮助。

我的开发环境:

升级到 Visual Studio 2017 15.5.0 后,同样的事情发生在我身上。 不幸的是,没有简单的方法可以降级 Visual Studio,所以最好的办法是等待修复。

编辑:

解决方案:将您的 visual studio 降级为 15.0。

  1. 通过 运行 visual studio 安装程序卸载版本 15.5.0 并卸载任何 Visual Studio 产品。
  2. 使用您的 Microsoft 帐户,登录 http://my.visualstudio.com
  3. 下载Visual Studio15.0的安装包并安装。不要忘记检查 Visual Studio Unity 工具。
  4. 测试并确认问题已解决。

编辑 2:

抱歉,它是分阶段出现的,因为我一直在调查它。 安装 Visual Studio 2017 15.0 后(上述说明),您现在可以升级到 15.2(更稳定),执行以下操作:

  1. 下载 15.2 (here) 的清单文件并放入 C:\VS2017.
  2. 下载 Visual Studio 社区安装程序 (here) 并放在同一目录中。
  3. 打开命令行window(以管理员身份),将目录更改为 C:\VS2017,然后键入: vs_community.exe --installChannelUri "file:///C:/VS2017/ChannelManifest.json" --channelUri "<a href="https://aka.ms/vs/15/release/channel" rel="nofollow noreferrer">https://aka.ms/vs/15/release/channel</a>"
  4. 您现在可以升级到 15.2!

与 Visual Studio Enterprise 2017 版本 15.5.1 相同的问题,这是当时的最新版本。

编辑 1:

请参阅来自 MS 开发人员社区的此主题: https://developercommunity.visualstudio.com/content/problem/164949/visual-studio-tools-for-unity-failed-to-convert-de.html

似乎该问题已报告给 MS,并且他们正在修复。同时,您可以尝试通过 vstusp@microsoft.com 与他们联系,以获得修复此问题的 Tools for Unity 构建。祝你好运。

编辑 2:

正如Rabadash8820在评论中所说,MS已经修复了应该很快发布的15.5.3版本中的错误。今天我把我的VS升级到15.5.2版本,问题依旧。

编辑 3:

据报道,该问题已在版本 15.5.3 中修复here. You can download it here

问题可以通过升级单声道版本来解决。我已经从 4.8 升级到 6.0.344。