TL; DR
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工具:无法转换调试符号,没有pdb2mdb
pdb2mdb是VSTU中的程序,它将.pdb转换为.mdb,我不知道为什么它会突然丢失。我已经尝试清理/重建我的VS解决方案,重新启动VS和Unity,以及修复我的VS安装,但都没有成功。更奇怪的是,这种行为发生在两台不同的计算机上(虽然所有相同的软件版本都是如此),这使我感到紧张,这个问题在某种程度上与我的项目有关。到目前为止,我能够找到的所有信息都已有几年的历史,并没有帮助。
我的开发环境:
答案 0 :(得分:1)
与Visual Studio Enterprise 2017版本15.5.1相同的问题,这是当时的最新版本。
编辑1:
从MS Developer社区查看此主题: https://developercommunity.visualstudio.com/content/problem/164949/visual-studio-tools-for-unity-failed-to-convert-de.html
似乎问题已经报告给MS并且他们正在修复。同时,您可以尝试通过vstusp@microsoft.com与他们联系,以获得修复此问题的Unity工具的构建。祝你好运。
编辑2:
正如Rabadash8820在评论中所说,MS已经修复了应该很快发布的版本15.5.3中的错误。今天我将我的VS更新到版本15.5.2,问题仍然存在。
编辑3:
答案 1 :(得分:0)
升级到Visual Studio 2017 15.5.0后发生了同样的事情。 不幸的是,没有简单的方法来降级Visual Studio,所以最好的办法是等待修复。
修改强>
解决方案:将视觉工作室降级到15.0。
编辑2:
很抱歉它分阶段进行,因为我一直在调查它。 一旦安装了Visual Studio 2017 15.0(上面的说明),现在可以升级到15.2(更加稳定),执行以下操作:
vs_community.exe --installChannelUri "file:///C:/VS2017/ChannelManifest.json" --channelUri "https://aka.ms/vs/15/release/channel"
答案 2 :(得分:0)
问题可以通过升级 Mono 版本来解决。我已经从 4.8 升级到 6.0.344。