簡體   English   中英

在 VS2017RC 中構建 .netcore 項目時,對 .pdb 文件的訪問被拒絕錯誤

[英]Access denied error to .pdb files when building .netcore project in VS2017RC

環境:

微軟 Visual Studio 專業版 2017 RC

版本 15.0.26206.0 D15REL

微軟 .NET 框架

版本 4.6.01586

錯誤:

錯誤 CS2012:無法打開 [file.pdb] 進行寫入 --“訪問路徑 [pdb 文件的路徑] 被拒絕”。

描述:

我正在使用其他面向 .netstandard1.6 的庫為 .net core 1.1 構建 .netcore 應用程序。 當我構建項目時,出現上述錯誤。 當項目處於這種狀態時,我無法清理/構建或運行項目。 第一次打開項目時不會發生,看起來很隨機,因為它可能會運行幾次才會出現錯誤。

當我通過資源管理器導航到它時,我也無法刪除 .pdb 文件或 Debug 目錄中的 netcore1.0 或 netstandard1.6 文件夾的父文件夾。 我什至無法更改文件或文件夾的權限。 我是電腦管理員。

當我關閉 Visual Studio 並再次打開它時一切正常,我可以再次構建,這不是答案。

鏈接到我在 Visual Studio 論壇上的問題

謝謝

此問題更多與 Visual Studio 在執行構建操作時無法寫入 [file.pdb] 文件有關。 由於這個問題,Visual Studio 無法完成構建過程,然后它會保持這個文件鎖定。 因此,在此狀態下,您無法清理/構建或運行項目,也無法刪除 .pdb 文件或父文件夾。

很難找出Visual Studio 的root 無法打開[file.pdb] 進行寫入。 因為這個問題是隨機發生的,我們無法重現。 但是你可以嘗試關閉Visual Studio,然后刪除[file.pdb]文件並重建項目

請注意:感謝 Jean Roux 的貢獻,他使用 Process Explorer 找到了名為 ServiceHub.DataWarehouseHost.exe 的進程,該進程具有該文件的句柄。 殺死那個句柄然后構建再次工作。

我處理這個問題已經有一段時間了,我的原因是使用不同的解決方案打開了多個 VS2017 實例,並且其中一個或多個正在運行。

我的解決方法是在嘗試構建存在此問題的解決方案時,根本沒有任何 VS 實例在調試中運行。

我假設另一個實例在運行時由於某種原因鎖定了文件。

這是另一個不是很好的解決方案:

工具 -> 選項 -> 調試 -> 常規,取消選中“調試時啟用診斷工具”

很難知道它是否會再次發生,但我現在已經連續調試/重建了大約 10 次,比以前多 9 倍。 為了獲得可靠的調試/構建周期,必須關閉一個有用的功能,這仍然是一個非常可悲的狀態。

引用這里的 Visual Studio 開發人員社區頁面上的 Aaron Robinson 先生的話(寫於 2017 年 3 月 11 日),這似乎是一個已知問題:

這是針對 .NET Core 項目進行 CPU 分析(在調試或分析 (Alt+F2) 期間)時 VS 2017 的一個已知問題。 這將在即將發布的版本中解決。 解決方法是:

A) 不為 .Net Core 項目啟用 CPU 分析(在 F5 或 Alt+F2 期間)

B) 將項目屬性中的 PDB 格式從 Portable PDB 更改為 PDB Full

請注意,這只會影響可以輸出 Portable PDB 格式的項目。

亞倫

我自己嘗試了 B 並首先在我的測試項目中將 PDB 格式更改為 full,但出現錯誤,其中 VS 2017 找不到我的測試,然后也更改了我正在測試的項目的 PDB 格式,這解決了問題. 沒考過A

要更改 PDB 格式,請轉到項目的“屬性”,轉到“構建”選項卡,然后單擊右下角的“高級”按鈕。 在那里你會得到一個帶有完整選項的下拉菜單。 (在輸出 -> 調試信息標題下)

它已在 15.2 更新中修復,按照通知區域,您將找到所有可用更新。

https://developercommunity.visualstudio.com/content/problem/25390/warning-msb3026-could-not-copy-objdebugnetcoreapp1.html

如果您在關閉 VS 后甚至無法手動刪除 .pdb 文件,請檢查您是否有另一個 VS 實例來調試引用您正在嘗試構建的解決方案的解決方案(不一定直接,它可能是通過一個 NuGet 包,就像我的情況一樣)。

VS“自動”查找 .pdb 文件很好,因此您可以調試其他解決方案中的問題,但這似乎是一個令人不快的副作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM