2014-06-07 63 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的評論,但只是驅動器,所以這可能不是完全相同的問題。

相關問題