Unity错误“Visual Studio工具:无法转换调试符号,没有pdb2mdb”

时间:2017-12-06 08:57:57

标签: visual-studio unity3d mono managed

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安装,但都没有成功。更奇怪的是,这种行为发生在两台不同的计算机上(虽然所有相同的软件版本都是如此),这使我感到紧张,这个问题在某种程度上与我的项目有关。到目前为止,我能够找到的所有信息都已有几年的历史,并没有帮助。

我的开发环境:

  • Windows 10
  • Unity 2017.2.0f3
  • Visual Studio 2017 15.5.0
  • VSTU 3.5.0.2

3 个答案:

答案 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:

问题已在版本15.5.3中得到修复,如报告所述here。您可以下载here

答案 1 :(得分:0)

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

修改

解决方案:将视觉工作室降级到15.0。

  1. 通过运行visual studio安装程序并卸载任何Visual Studio产品来卸载15.5.0版。
  2. 使用您的Microsoft帐户,登录http://my.visualstudio.com
  3. 下载Visual Studio 15.0的安装并安装它。不要忘记检查Visual Studio Tools for Unity。
  4. 测试并验证问题已解决。
  5. 编辑2:

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

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

答案 2 :(得分:0)

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