2014-06-07 52 views
7

每当我调试我的程序时,有时会出现一些错误,要求我将磁盘插入Drive E和Drive F.这似乎与VS看起来有关对于这些原本在这些驱动器的发展,例如在Visual Studio中调试时没有“Drive中的磁盘”错误

enter image description here

如果我一直按取消,那么我的调试会话继续,但是它是相当恼人的第三方组件的来源。我如何阻止这种情况发生?

注意,我不试图调试这些库,我有“启用仅我的代码”选项下/调试打勾。

+0

看起来像您的项目在加载...消息中引用了该路径。尝试删除它。 – yogi

回答

14

这些DLL是在华盛顿州雷蒙德市的微软构建服务器上构建的。微软通常将这些构建服务器配置为在F:驱动器上查找它们的源代码。例如,.NET Framework程序集是从f:\ dd生成的,“dd”是DevDiv,它是Microsoft负责开发人员工具的组。在DLL内部,可以有一个部分包含构建DLL时DLL的PDB文件的位置。

Unity由微软的另一个团队生产,名为“Patterns and Practices”。值得注意的是使用相当差的做法。应该剥离包含PDB位置的DLL中的部分,因为它适用于普通的.NET Framework程序集。您可以从消息中知道他们不使用DevDiv使用的常规构建服务器。

因此,您可以看到该部分的内容,e:\ Builds是Unity源代码最初所在的位置。所以这就是调试器先查找PDB的地方。当然,它不会找到它,你没有在该生成服务器上调试你的代码:)通常这不会造成任何麻烦,调试器很快发现PDB不在那里并继续搜索。首先查看符号缓存,然后从符号服务器下载PDB。

不幸的是,在您的机器上,E:驱动器实际上存在。但是,它是在缓慢的情况下,驱动器号存在,但它并没有实际映射到功能驱动器。最常见的原因是您之前已将该驱动器映射到网络共享,但网络连接不再起作用。或者没有正确拆卸的闪存驱动器。因此,当Windows看到一个试图访问驱动器的程序并产生一个低级提示,让你有机会重新建立驱动器连接时,它就会进入。它是臭名昭着的MS-Dos "Abort, Retry, Fail?"提示的GUI版本。

你当然不想要这个。所以,只需禁用该驱动器,Windows就能让你安然无恙。单击桌面上的“计算机”快捷方式,右键单击E:驱动器并选择(我忘记了确切的命令)断开或禁用,以便驱动器消失。

如果这最初是一个映射网络驱动器,最好的做法是遵循Windows建议,它从Z:驱动器开始从下往上映射驱动器。如果驱动器号有另一个源(我认为有些机器将读卡器映射到该驱动器号),请在superuser.com上跟进以了解如何摆脱这些非功能驱动器映射。他们也可以告诉你是否有办法彻底摆脱这个提示,应该有一个。

1

我发现关闭解决方案并删除.suo文件时发生这种情况。虽然我通常不会得到有关特定DLL的评论,但只是驱动器,所以这可能不是完全相同的问题。

相关问题