gpt4 book ai didi

c# - 在 Visual Studio 中调试时出现“驱动器中没有磁盘”错误

转载 作者:太空狗 更新时间:2023-10-29 19:59:40 25 4
gpt4 key购买 nike

每当我调试我的程序时,有时会出现几个错误,要求我将磁盘插入驱动器 E 和驱动器 F。这似乎与 VS 寻找第三方组件的来源有关,这些组件最初是在这些组件上开发的驱动器,例如

enter image description here

如果我一直按取消键,我的调试 session 就会继续,但这很烦人。我该如何阻止这种情况发生?

请注意,我没有尝试调试这些库,并且我在“选项/调试”下勾选了“仅启用我的代码”。

最佳答案

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

Unity 由 Microsoft 的另一个小组开发,称为“模式和实践”。以使用相当糟糕的做法而著称。 DLL 中包含 PDB 位置的部分应该被剥离,因为它适用于普通的 .NET Framework 程序集。您可以从消息中看出他们不使用 DevDiv 使用的普通构建服务器。

所以您看到的是该部分的内容,e:\Builds 是 Unity 源代码最初所在的位置。因此,调试器将首先查找该位置以再次找到 PDB。当然它不会找到它,您不是在那个构建服务器上调试代码 :) 这通常不会造成任何问题,调试器很快就会发现 PDB 不存在并继续搜索。首先在符号缓存中查找,然后从符号服务器下载 PDB。

不幸的是,在您的机器上,E: 驱动器实际上存在。但它处于不确定状态,驱动器号存在但实际上并未映射到功能驱动器。最常见的原因是您之前将该驱动器映射到网络共享,但网络连接不再可用。或者未正确卸载的闪存驱动器。因此,Windows 在发现程序试图访问驱动器时会介入并生成低级提示,让您有机会重新建立驱动器连接。它是臭名昭著的 MS-Dos 的 GUI 版本 "Abort, Retry, Fail?"提示。

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

如果这最初是一个映射的网络驱动器,最好的做法是遵循 Windows 的建议,它从下向上映射驱动器,从 Z: 驱动器开始。如果驱动器盘符有其他来源(我认为某些机器将读卡器映射到该驱动器盘符),那么请访问 superuser.com 以了解如何摆脱这些无功能的驱动器映射。他们可能还会告诉您是否有办法完全摆脱此提示,应该有一个。

关于c# - 在 Visual Studio 中调试时出现“驱动器中没有磁盘”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24096274/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com