统一错误 "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 安装,但都没有成功。更奇怪的是,这种行为发生在 两台不同的计算机 上(尽管所有相关软件版本都相同),这让我感到紧张,因为这个问题在某种程度上是我的项目特有的。到目前为止,我能找到的所有信息都是几年前的,没有帮助。
我的开发环境:
- Windows 10
- 统一 2017.2.0f3
- Visual Studio 2017 年 15.5.0
- VSTU 3.5.0.2
升级到 Visual Studio 2017 15.5.0 后,同样的事情发生在我身上。
不幸的是,没有简单的方法可以降级 Visual Studio,所以最好的办法是等待修复。
编辑:
解决方案:将您的 visual studio 降级为 15.0。
- 通过 运行 visual studio 安装程序卸载版本 15.5.0 并卸载任何 Visual Studio 产品。
- 使用您的 Microsoft 帐户,登录 http://my.visualstudio.com。
- 下载Visual Studio15.0的安装包并安装。不要忘记检查 Visual Studio Unity 工具。
- 测试并确认问题已解决。
编辑 2:
抱歉,它是分阶段出现的,因为我一直在调查它。
安装 Visual Studio 2017 15.0 后(上述说明),您现在可以升级到 15.2(更稳定),执行以下操作:
- 下载 15.2 (here) 的清单文件并放入 C:\VS2017.
- 下载 Visual Studio 社区安装程序 (here) 并放在同一目录中。
- 打开命令行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>"
- 您现在可以升级到 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:
问题可以通过升级单声道版本来解决。我已经从 4.8 升级到 6.0.344。
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 安装,但都没有成功。更奇怪的是,这种行为发生在 两台不同的计算机 上(尽管所有相关软件版本都相同),这让我感到紧张,因为这个问题在某种程度上是我的项目特有的。到目前为止,我能找到的所有信息都是几年前的,没有帮助。
我的开发环境:
- Windows 10
- 统一 2017.2.0f3
- Visual Studio 2017 年 15.5.0
- VSTU 3.5.0.2
升级到 Visual Studio 2017 15.5.0 后,同样的事情发生在我身上。 不幸的是,没有简单的方法可以降级 Visual Studio,所以最好的办法是等待修复。
编辑:
解决方案:将您的 visual studio 降级为 15.0。
- 通过 运行 visual studio 安装程序卸载版本 15.5.0 并卸载任何 Visual Studio 产品。
- 使用您的 Microsoft 帐户,登录 http://my.visualstudio.com。
- 下载Visual Studio15.0的安装包并安装。不要忘记检查 Visual Studio Unity 工具。
- 测试并确认问题已解决。
编辑 2:
抱歉,它是分阶段出现的,因为我一直在调查它。 安装 Visual Studio 2017 15.0 后(上述说明),您现在可以升级到 15.2(更稳定),执行以下操作:
- 下载 15.2 (here) 的清单文件并放入 C:\VS2017.
- 下载 Visual Studio 社区安装程序 (here) 并放在同一目录中。
- 打开命令行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>"
- 您现在可以升级到 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:
问题可以通过升级单声道版本来解决。我已经从 4.8 升级到 6.0.344。