本文說明MSB3821錯誤碼。
消息正文
MSB3821: Couldn't process file 'value' due to its being in the Internet or Restricted zone or having the mark of the web on the file. Remove the mark of the web if you want to process these files.
說明
MSBuild 嘗試處理從網頁下載的檔案(或雲端磁碟驅動器)具有安全性限制時,就會發生此錯誤。
當您使用瀏覽器將 HTML 頁面之類的 Web 資產下載到 Windows 裝置時,瀏覽器會插入名為 Web 標記的標記,其會記錄頁面來源網站的安全性區域。 標記的目的在於協助防止潛在的惡意頁面,並在原始網站上強制執行安全性層級,即使頁面已從網站下載,該標記仍能發揮作用。 由於特定安全性問題,需要此安全性檢查: Visual Studio 遠端程式代碼執行弱點 CVE-2018-8172。
解決辦法
如果您決定信任有問題的內容,您可以從 [檔案總管] 解除封鎖單一檔案,以覆寫限制。 開啟檔案上的 [ 屬性] 視窗,然後選取 [ 解除封鎖]。 您也可以使用 PowerShell 腳本和 Unblock-File Cmdlet 解除封鎖多個檔案。
Visual Studio 也包含偵測 Web 批註 標記 的安全性限制。 你可以在>「所有設定>>>區塊的工具選項選區中自訂信任設定。 如需詳細資訊,請參閱 設定檔案和資料夾的信任設定。
Visual Studio 也包含偵測 Web 批註 標記 的安全性限制。 你可以在>環境>區塊的工具選項對話框中自訂信任設定。 如需詳細資訊,請參閱 設定檔案和資料夾的信任設定。
在某些情況下,您無法直接在 Visual Studio 中修正錯誤。 請改為遵循此程式:
- 關閉 Visual Studio。
- 在 [檔案總管] 中,移至項目資料夾。
- 找出MSB3821錯誤的檔案,然後開啟 [ 屬性] 功能表 (Alt + Enter)。
- 選取 [ 解除封鎖] 複選框,然後選取 [ 套用]。
- 關閉視窗。
- 重新啟動 Visual Studio。 開啟您的項目,然後再次建置專案。
適用對象
MSBuild 的所有版本