時WHE我嘗試編譯我的項目複製文件,我得到這個錯誤錯誤1無法編譯
錯誤1無法複製文件「OBJ \調試\ oneForce.pdb」到 的「bin \調試\ oneForce.pdb」。訪問路徑 'obj \ Debug \ oneForce.pdb'被拒絕。 oneForce
任何人都可以幫助我如何糾正它嗎?
時WHE我嘗試編譯我的項目複製文件,我得到這個錯誤錯誤1無法編譯
錯誤1無法複製文件「OBJ \調試\ oneForce.pdb」到 的「bin \調試\ oneForce.pdb」。訪問路徑 'obj \ Debug \ oneForce.pdb'被拒絕。 oneForce
任何人都可以幫助我如何糾正它嗎?
感謝所有誰在項目的obj
文件夾貢獻
,我改名爲debug文件夾中,原因是我想刪除它,但Windows不會讓我,說文件夾不空。所以我懷疑文件的結果,只是重命名文件夾。
解決了這個問題
謝謝大家。
看起來你的應用程序被另一個進程使用。確保它沒有運行。打開任務管理器並檢查它是否不存在。
重新啓動VS或機器應該會有所幫助,但是你需要弄清楚什麼是你的pdb。可能是性能分析器或DotTrace。
這不是應用程序,它是PDB文件。這很可能是另一個調試器(也許是Visual Studio的另一個實例?),它正在使用該文件。 –
是的。重新啓動VS或計算機將解決此問題。但是,掌握這個PDB需要弄清楚,所以它不會再發生。 –
重新啓動VS的建議是我答案的最後一段,在此之前,我提出了許多可能性來幫助追查罪魁禍首。我不確定那個評論應該是什麼意思;我沒有說過在我之前的評論中重啓電腦。重點是PDB文件與應用程序是分開的。 –
確保在編譯項目或正在構建的DLL(如果它是DLL)時正在編譯的應用程序未在運行的任何應用程序中引用。
您可以使用Process Explorer來搜索您的應用程序,並且可能會在正常關閉時無法使用正在使用它的進程。
PDB文件正在使用中,而不是應用程序。這不一定是一回事。另外,不要只是漫無目的地殺死進程。如果可能,請正確關閉它們。 Process Explorer應該主要是診斷問題的工具,而不是解決問題。 –
我已更新答案以反映您的評論。 – Amr
其他可能有打開obj \ Debug \ oneForce.pdb文件。你有沒有在Visual Studio的多個副本中打開該項目?
否則找出有什麼文件打開。見this superuser question如何做到這一點。
Visual Studio正在嘗試修改位於項目的Debug
文件夾中的自動生成的PDB文件(包含調試信息),但有些內容阻止了它的執行。
確保您具有保存項目的文件夾的完整寫權限,並且調試器(例如Visual Studio的另一個實例)未使用PDB文件。
錯誤消息告訴您文件所在的項目/解決方案目錄相對路徑;這是你應該檢查,以確保您具有讀/寫訪問:
<SolutionDir>\bin\Debug\oneForce.pdb
而且你可以像使用Sysinternals的Process Explorer的應用程序來檢查,看看有什麼其他的應用程序可能有一個文件打開。
最後,如果一切都失敗,請嘗試關閉Visual Studio並重新啓動它。這通常可以解決文件句柄在應該關閉時仍處於打開狀態的任何問題。
我只有一個VS運行的實例,並且我還沒有解決方案很多次重啓VS,甚至重新啓動我的系統。 – Smith
@史密斯:如果您已經重新啓動計算機,那麼任何進程仍然無法控制文件的句柄是不可能的。因此,您似乎更有可能沒有完全寫入您的PDB文件所在的文件夾的寫入權限。嘗試使用Windows資源管理器複製或創建該文件夾中的文件,並查看是否有效。另外請記住,訪問該文件夾可能需要管理權限,Visual Studio默認情況下不會在標準用戶帳戶下運行。嘗試通過右鍵單擊圖標並使用上下文菜單選項以管理員身份啓動VS。 –
我已經在這個項目上運行了2個多月了,而且我沒有遇到任何錯誤。它今天剛剛開始 – Smith
您可以使用process explorer(來自sysinternals)來發現鎖定pdb文件的進程(或應用程序)。
這確實使得文件句柄似乎可能被另一個進程使用。 Windows將允許您重命名正在使用的文件,但不允許您修改或刪除它。重命名它只是解決了問題,並允許VS在它想要的位置創建* new *文件。 –
我沒有重命名導致問題的'.pdo'文件,但文件夾 – Smith
不相關;這仍然繞過這個問題。 Windows創建了一個不包含PDB文件的新文件夾。 –